Перепланирование задачи в обработчике с помощью db-scheduler JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Перепланирование задачи в обработчике с помощью db-scheduler Java

Сообщение Anonymous »

Код: Выделить всё

class TaskData {
int id;
String status;
}

class TaskDbScheduler() {
private final SchedulerClient schedulerClient;
private final OneTimeTask oenTimeTask;
public TaskInstance schedule(TaskData taskData) {
Instant nextExecutionTime = taskData.getNextAttempt();
TaskInstance instance =
oenTimeTask.instance(taskData.getId()(), taskData);
boolean scheduled = schedulerClient.scheduleIfNotExists(instance, nextExecutionTime);
return instance;
}
}

class TaskHandler{
TaskDbScheduler scheduler; // causes circular dependency

void handle(TaskInstance taskInstance, ExecutionContext executionContext) {
var read = xyzservice.run(taskInstance.getData());

if(read == fail) {
// reschedule it after two seconds, with taskdata.toBuilder().status("delayed").build();

}
}
}
Я использую db-scheduler 15.3.0.
Я пытаюсь перенести задачу в обработчике при некоторых условиях, но это всегда приводит к ошибке циклической зависимости. Использование SchedulerClient непосредственно в обработчике также не обеспечивает возможности изменения данных задачи. Есть ли способ перенести задачу таким образом?

Подробнее здесь: https://stackoverflow.com/questions/795 ... duler-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»