From 4c5347bf9797919096db86121219542604953e03 Mon Sep 17 00:00:00 2001 From: fjtirado Date: Mon, 16 Feb 2026 13:04:52 +0100 Subject: [PATCH] Allow static use of scheduled service Signed-off-by: fjtirado --- .../ExecutorServiceWorkflowScheduler.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/scheduler/ExecutorServiceWorkflowScheduler.java b/impl/core/src/main/java/io/serverlessworkflow/impl/scheduler/ExecutorServiceWorkflowScheduler.java index d2e55b3a..b3e0c6ec 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/scheduler/ExecutorServiceWorkflowScheduler.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/scheduler/ExecutorServiceWorkflowScheduler.java @@ -30,14 +30,24 @@ public ExecutorServiceWorkflowScheduler(ScheduledExecutorService service) { @Override public Cancellable scheduleEvery(WorkflowDefinition definition, Duration interval) { + return scheduleEvery(service, definition, interval); + } + + @Override + public Cancellable scheduleAfter(WorkflowDefinition definition, Duration delay) { + return scheduleAfter(service, definition, delay); + } + + public static Cancellable scheduleEvery( + ScheduledExecutorService service, WorkflowDefinition definition, Duration interval) { long delay = interval.toMillis(); return new ScheduledServiceCancellable( service.scheduleAtFixedRate( new ScheduledInstanceRunnable(definition), delay, delay, TimeUnit.MILLISECONDS)); } - @Override - public Cancellable scheduleAfter(WorkflowDefinition definition, Duration delay) { + public static Cancellable scheduleAfter( + ScheduledExecutorService service, WorkflowDefinition definition, Duration delay) { return new ScheduledServiceCancellable( service.schedule( new ScheduledInstanceRunnable(definition), delay.toMillis(), TimeUnit.MILLISECONDS));