1
ジョブのステータスを取得するために、スパーク・ジョブ・サーバに問い合わせる休止リクエストを作成しています。コードは以下のようになります。リスナは、スパーク・ジョブ・サーバからジョブ・ステータスを取得します。
private Future<JobResult> getJobResultFuture(String jobId) {
ExecutorService executorService = Executors.newSingleThreadExecutor();
Future<JobResult> resultFuture = executorService.submit(() -> {
while (true) {
JobResult jobResponse = getJobResponse(jobController.getStatus(jobId));
if (jobResponse.isJobComplete()) {
return jobResponse;
}
Thread.sleep(RESPONSE_RETRY_TIME);
}
});
return resultFuture;
}
次のように私は、ジョブサーバに要求を作っています:
public String getStatus(String jobId) {
WebResource resource = CLIENT.resource(jobServerURL() + "/jobs/" + jobId);
return resource.type(MediaType.TEXT_PLAIN).get(String.class);
}
をしかし、私は、これはそれを行うための正しい方法であると感じていない、私はちょうど必要どのように私は何らかのハンドラ/リスナをWebリクエストに追加して、ジョブサーバからステータスを返すことができ、ユーザに通知するような何らかの処理を実行できるようにする方法を知っています。
これを行うライブラリはありますか?