1
我正在發出其他請求來查詢Spark Job Server以獲取作業的狀態。代碼如下所示:監聽器從Spark Job Server獲取作業狀態
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請求中添加某種處理程序/偵聽器,以便我可以從作業服務器獲取狀態,並且可以執行某種處理,如通知用戶。
有沒有這樣做的任何圖書館?