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();
}
}
}
< /code>
Ich verwende DB-Planer 15.3.0. Die direkte Verwendung von SchedulerClient direkt im Handler bietet auch nicht die Funktionalität, Taskdata zu ändern. Gibt es eine Möglichkeit, eine Aufgabe auf diese Weise zu erstellen?
Umplanen einer Aufgabe innerhalb des Handlers mit DB-Scheduler Java ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post