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 Details

    • scheduleOnce

      Cancellable scheduleOnce(TMTTime startTime, scala.Function0<scala.runtime.BoxedUnit> task)
      Schedules a task to execute once at the given start time.

      Parameters:
      startTime - the time at which the task should start its execution
      task - 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

      Cancellable scheduleOnce(TMTTime startTime, Runnable task)
      Schedules a task to execute once at the given start time.

      Parameters:
      startTime - the time at which the task should start its execution
      task - 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

      Cancellable scheduleOnce(TMTTime startTime, akka.actor.ActorRef receiver, Object message)
      Sends message to the given actor at the given start time.

      Parameters:
      startTime - the time at which the first message would be sent
      receiver - the actorRef to notify on scheduled time
      message - the message to send to the actor
      Returns:
      a handle to cancel sending the message if it hasn't been sent already
    • schedulePeriodically

      Cancellable schedulePeriodically(Duration interval, scala.Function0<scala.runtime.BoxedUnit> task)
      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 for schedulePeriodically with startTime.

      Parameters:
      interval - the time interval between the execution of tasks
      task - the task to execute at each interval
      Returns:
      a handle to cancel execution of further tasks
    • schedulePeriodically

      Cancellable schedulePeriodically(Duration interval, Runnable task)
      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 for schedulePeriodically with startTime.

      Parameters:
      interval - the time interval between the execution of tasks
      task - the task to execute at each interval
      Returns:
      a handle to cancel execution of further tasks
    • schedulePeriodically

      Cancellable schedulePeriodically(Duration interval, akka.actor.ActorRef receiver, Object message)
      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 for schedulePeriodically with startTime.

      Parameters:
      interval - the time interval between messages sent to the actor
      receiver - the actorRef to notify at each interval
      message - 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 executed
      interval - the time interval between the execution of tasks
      task - the task to execute after each interval
      Returns:
      a handle to cancel execution of further tasks
    • schedulePeriodically

      Cancellable schedulePeriodically(TMTTime startTime, Duration interval, Runnable 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 executed
      interval - the time interval between the execution of tasks
      task - 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 sent
      interval - the time interval between messages sent to the actor
      receiver - the actorRef to notify at each interval
      message - the message to send to the actor
      Returns:
      a handle to cancel sending further messages