Umplanen einer Aufgabe innerhalb des Handlers mit DB-Scheduler Java

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Umplanen einer Aufgabe innerhalb des Handlers mit DB-Scheduler Java

by Anonymous » 14 Apr 2025, 11:14

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?

Top