Package com.github.kagkarlsson.scheduler
Interface SchedulerClient
- All Known Implementing Classes:
ManualScheduler,Scheduler,SchedulerClient.StandardSchedulerClient
public interface SchedulerClient
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classstatic classstatic class -
Method Summary
Modifier and TypeMethodDescriptionvoidcancel(TaskInstanceId taskInstanceId) Removes/Cancels an execution.voidfetchScheduledExecutions(ScheduledExecutionsFilter filter, Consumer<ScheduledExecution<Object>> consumer) voidfetchScheduledExecutions(Consumer<ScheduledExecution<Object>> consumer) Gets all scheduled executions and supplies them to the provided Consumer.<T> voidfetchScheduledExecutionsForTask(String taskName, Class<T> dataClass, ScheduledExecutionsFilter filter, Consumer<ScheduledExecution<T>> consumer) <T> voidfetchScheduledExecutionsForTask(String taskName, Class<T> dataClass, Consumer<ScheduledExecution<T>> consumer) Gets all scheduled executions for a task and supplies them to the provided Consumer.getScheduledExecution(TaskInstanceId taskInstanceId) Gets the details for a specific scheduled execution.default List<ScheduledExecution<Object>>default List<ScheduledExecution<Object>>default <T> List<ScheduledExecution<T>>getScheduledExecutionsForTask(String taskName, Class<T> dataClass) default <T> List<ScheduledExecution<T>>getScheduledExecutionsForTask(String taskName, Class<T> dataClass, ScheduledExecutionsFilter filter) <T> voidreschedule(SchedulableInstance<T> schedulableInstance) Update an existing execution with a new execution-time and new task-data.voidreschedule(TaskInstanceId taskInstanceId, Instant newExecutionTime) Update an existing execution to a new execution-time.<T> voidreschedule(TaskInstanceId taskInstanceId, Instant newExecutionTime, T newData) Update an existing execution with a new execution-time and new task-data.<T> voidschedule(SchedulableInstance<T> schedulableInstance) <T> voidschedule(TaskInstance<T> taskInstance, Instant executionTime) Schedule a new execution.
-
Method Details
-
schedule
Schedule a new execution.- Parameters:
taskInstance- Task-instance, optionally with dataexecutionTime- Instant it should run- See Also:
-
schedule
-
reschedule
Update an existing execution to a new execution-time. If the execution does not exist or if it is currently running, an exception is thrown.- Parameters:
taskInstanceId-newExecutionTime- the new execution-time- See Also:
-
reschedule
Update an existing execution with a new execution-time and new task-data. If the execution does not exist or if it is currently running, an exception is thrown.- Parameters:
taskInstanceId-newExecutionTime- the new execution-timenewData- the new task-data- See Also:
-
reschedule
Update an existing execution with a new execution-time and new task-data. If the execution does not exist or if it is currently running, an exception is thrown.- Parameters:
schedulableInstance- the updated instance
-
cancel
Removes/Cancels an execution.- Parameters:
taskInstanceId-- See Also:
-
fetchScheduledExecutions
Gets all scheduled executions and supplies them to the provided Consumer. A Consumer is used to avoid forcing the SchedulerClient to load all executions in memory. Currently running executions are not returned.- Parameters:
consumer- Consumer for the executions
-
fetchScheduledExecutions
void fetchScheduledExecutions(ScheduledExecutionsFilter filter, Consumer<ScheduledExecution<Object>> consumer) -
getScheduledExecutions
- See Also:
-
getScheduledExecutions
- See Also:
-
fetchScheduledExecutionsForTask
<T> void fetchScheduledExecutionsForTask(String taskName, Class<T> dataClass, Consumer<ScheduledExecution<T>> consumer) Gets all scheduled executions for a task and supplies them to the provided Consumer. A Consumer is used to avoid forcing the SchedulerClient to load all executions in memory. Currently running executions are not returned.- Parameters:
taskName- the name of the task to get scheduled-executions fordataClass- the task data-class the data will be serialized and cast toconsumer- Consumer for the executions
-
fetchScheduledExecutionsForTask
<T> void fetchScheduledExecutionsForTask(String taskName, Class<T> dataClass, ScheduledExecutionsFilter filter, Consumer<ScheduledExecution<T>> consumer) -
getScheduledExecutionsForTask
default <T> List<ScheduledExecution<T>> getScheduledExecutionsForTask(String taskName, Class<T> dataClass) -
getScheduledExecutionsForTask
default <T> List<ScheduledExecution<T>> getScheduledExecutionsForTask(String taskName, Class<T> dataClass, ScheduledExecutionsFilter filter) -
getScheduledExecution
Gets the details for a specific scheduled execution. Currently running executions are also returned.- Parameters:
taskInstanceId-- Returns:
- Optional.empty() if no matching execution found
- See Also:
-