Package csw.time.scheduler.api
Interface TimeServiceScheduler
public interface TimeServiceScheduler
Scheduler for scheduling periodic/non-periodic tasks at a specified time and/or interval.
It supports scheduling on both
UTCTime
and TAITime
.
Each API returns a Cancellable
which allows users to cancel the execution of tasks.
Please note that implementation of Scheduler is optimised for high-throughput
and high-frequency events. It is not to be confused with long-term schedulers such as Quartz.-
Method Summary
Modifier and TypeMethodDescriptionscheduleOnce
(TMTTime startTime, akka.actor.ActorRef receiver, Object message) Sends message to the given actor at the given start time.scheduleOnce
(TMTTime startTime, Runnable task) Schedules a task to execute once at the given start time.scheduleOnce
(TMTTime startTime, scala.Function0<scala.runtime.BoxedUnit> task) Schedules a task to execute once at the given start time.schedulePeriodically
(TMTTime startTime, Duration interval, akka.actor.ActorRef receiver, Object message) Sends message to the given actor periodically at the given interval.schedulePeriodically
(TMTTime startTime, Duration interval, Runnable task) Schedules a task to execute periodically at the given interval.schedulePeriodically
(TMTTime startTime, Duration interval, scala.Function0<scala.runtime.BoxedUnit> task) Schedules a task to execute periodically at the given interval.schedulePeriodically
(Duration interval, akka.actor.ActorRef receiver, Object message) Sends message to the given actor periodically at the given interval.schedulePeriodically
(Duration interval, Runnable task) Schedules a task to execute periodically at the given interval.schedulePeriodically
(Duration interval, scala.Function0<scala.runtime.BoxedUnit> task) Schedules a task to execute periodically at the given interval.
-
Method Details
-
scheduleOnce
Schedules a task to execute once at the given start time.- Parameters:
startTime
- the time at which the task should start its executiontask
- the task to be scheduled for execution- Returns:
- a handle to cancel the execution of the task if it hasn't been executed already
-
scheduleOnce
Schedules a task to execute once at the given start time.- Parameters:
startTime
- the time at which the task should start its executiontask
- the task to be scheduled for execution- Returns:
- a handle to cancel the execution of the task if it hasn't been executed already
-
scheduleOnce
Sends message to the given actor at the given start time.- Parameters:
startTime
- the time at which the first message would be sentreceiver
- the actorRef to notify on scheduled timemessage
- the message to send to the actor- Returns:
- a handle to cancel sending the message if it hasn't been sent already
-
schedulePeriodically
Schedules a task to execute periodically at the given interval. The task is executed once immediately without any initial delay followed by periodic executions. In case you do not want to start scheduling immediately, you can use the overloaded method forschedulePeriodically
with startTime.- Parameters:
interval
- the time interval between the execution of taskstask
- the task to execute at each interval- Returns:
- a handle to cancel execution of further tasks
-
schedulePeriodically
Schedules a task to execute periodically at the given interval. The task is executed once immediately without any initial delay. In case you do not want to start scheduling immediately, you can use the overloaded method forschedulePeriodically
with startTime.- Parameters:
interval
- the time interval between the execution of taskstask
- the task to execute at each interval- Returns:
- a handle to cancel execution of further tasks
-
schedulePeriodically
Sends message to the given actor periodically at the given interval. The first message is sent immediately without any initial delay. In case you do not want to start sending immediately, you can use the overloaded method forschedulePeriodically
with startTime.- Parameters:
interval
- the time interval between messages sent to the actorreceiver
- the actorRef to notify at each intervalmessage
- the message to send to the actor- Returns:
- a handle to cancel sending further messages
-
schedulePeriodically
Cancellable schedulePeriodically(TMTTime startTime, Duration interval, scala.Function0<scala.runtime.BoxedUnit> task) Schedules a task to execute periodically at the given interval. The task is executed once at the given start time followed by execution of task at each interval.- Parameters:
startTime
- first time at which task is to be executedinterval
- the time interval between the execution of taskstask
- the task to execute after each interval- Returns:
- a handle to cancel execution of further tasks
-
schedulePeriodically
Schedules a task to execute periodically at the given interval. The task is executed once at the given start time followed by execution of task at each interval.- Parameters:
startTime
- first time at which task is to be executedinterval
- the time interval between the execution of taskstask
- the task to execute after each interval- Returns:
- a handle to cancel the execution of further tasks
-
schedulePeriodically
Cancellable schedulePeriodically(TMTTime startTime, Duration interval, akka.actor.ActorRef receiver, Object message) Sends message to the given actor periodically at the given interval. The first message is sent at the given start time and the rest are sent at specified intervals.- Parameters:
startTime
- time at which the first message will be sentinterval
- the time interval between messages sent to the actorreceiver
- the actorRef to notify at each intervalmessage
- the message to send to the actor- Returns:
- a handle to cancel sending further messages
-