Skip to content

Commit ad28f1f

Browse files
committed
adjusted how we ping the registry to avoid concurrency problems
1 parent 3ec3135 commit ad28f1f

File tree

1 file changed

+10
-15
lines changed

1 file changed

+10
-15
lines changed

core/src/main/java/org/sterl/spring/persistent_tasks/scheduler/SchedulerService.java

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -100,21 +100,16 @@ public List<Future<TriggerKey>> triggerNextTasks() {
100100
*/
101101
@NonNull
102102
public List<Future<TriggerKey>> triggerNextTasks(OffsetDateTime timeDue) {
103-
var triggers = trx.execute(t -> {
104-
List<TriggerEntity> result;
105-
// in any case we say hello
106-
final var runningOn = pingRegistry();
107-
if (taskExecutor.getFreeThreads() > 0) {
108-
result = triggerService.lockNextTrigger(
109-
name, taskExecutor.getFreeThreads(), timeDue);
110-
runningOn.setRunnungTasks(taskExecutor.getRunningTasks() + result.size());
111-
} else {
112-
result = Collections.emptyList();
113-
log.debug("triggerNextTasks({}) skipped as no free threads are available.", timeDue);
114-
}
115-
return result;
116-
});
117-
return taskExecutor.submit(triggers);
103+
List<TriggerEntity> triggers;
104+
if (taskExecutor.getFreeThreads() > 0) {
105+
triggers = triggerService.lockNextTrigger(
106+
name, taskExecutor.getFreeThreads(), timeDue);
107+
} else {
108+
triggers = Collections.emptyList();
109+
}
110+
var result = taskExecutor.submit(triggers);
111+
pingRegistry();
112+
return result;
118113
}
119114

120115
/**

0 commit comments

Comments
 (0)