wait for tasks to complete when shutting down

This commit is contained in:
Athou
2026-03-04 12:45:09 +01:00
parent 231551d743
commit 78c017ddaf
5 changed files with 67 additions and 9 deletions

View File

@@ -6,16 +6,23 @@ import java.util.concurrent.ScheduledExecutorService;
import jakarta.inject.Singleton;
import io.quarkus.arc.All;
import com.commafeed.CommaFeedConfiguration;
import com.google.common.util.concurrent.MoreExecutors;
import io.quarkus.arc.All;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Singleton
public class TaskScheduler {
private final List<ScheduledTask> tasks;
private final CommaFeedConfiguration config;
private final ScheduledExecutorService executor;
public TaskScheduler(@All List<ScheduledTask> tasks) {
public TaskScheduler(@All List<ScheduledTask> tasks, CommaFeedConfiguration config) {
this.tasks = tasks;
this.config = config;
this.executor = Executors.newScheduledThreadPool(tasks.size());
}
@@ -24,6 +31,6 @@ public class TaskScheduler {
}
public void stop() {
executor.shutdownNow();
MoreExecutors.shutdownAndAwaitTermination(executor, config.shutdownTimeout());
}
}