Я делаю запросы на отдых, чтобы запросить 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);
}
, но я не считаю, что это правильный способ сделать это, мне просто нужно знать, как я могу добавить какого-либо обработчика/слушателя в веб-запрос, чтобы когда я могу получить статус с сервера задания, и я могу выполнять некоторую обработку, например, уведомлять пользователя.
есть ли библиотека, которая делает это?