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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      Cancellable scheduleOnce​(TMTTime startTime, akka.actor.ActorRef receiver, java.lang.Object message)
      Sends message to the given actor at the given start time.
      Cancellable scheduleOnce​(TMTTime startTime, java.lang.Runnable task)
      Schedules a task to execute once at the given start time.
      Cancellable scheduleOnce​(TMTTime startTime, scala.Function0<scala.runtime.BoxedUnit> task)
      Schedules a task to execute once at the given start time.
      Cancellable schedulePeriodically​(TMTTime startTime, java.time.Duration interval, akka.actor.ActorRef receiver, java.lang.Object message)
      Sends message to the given actor periodically at the given interval.
      Cancellable schedulePeriodically​(TMTTime startTime, java.time.Duration interval, java.lang.Runnable task)
      Schedules a task to execute periodically at the given interval.
      Cancellable schedulePeriodically​(TMTTime startTime, java.time.Duration interval, scala.Function0<scala.runtime.BoxedUnit> task)
      Schedules a task to execute periodically at the given interval.
      Cancellable schedulePeriodically​(java.time.Duration interval, akka.actor.ActorRef receiver, java.lang.Object message)
      Sends message to the given actor periodically at the given interval.
      Cancellable schedulePeriodically​(java.time.Duration interval, java.lang.Runnable task)
      Schedules a task to execute periodically at the given interval.
      Cancellable schedulePeriodically​(java.time.Duration interval, scala.Function0<scala.runtime.BoxedUnit> task)
      Schedules a task to execute periodically at the given interval.
    • Method Detail

      • 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,
                                 java.lang.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,
                                 java.lang.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​(java.time.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​(java.time.Duration interval,
                                         java.lang.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​(java.time.Duration interval,
                                         akka.actor.ActorRef receiver,
                                         java.lang.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,
                                         java.time.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,
                                         java.time.Duration interval,
                                         java.lang.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,
                                         java.time.Duration interval,
                                         akka.actor.ActorRef receiver,
                                         java.lang.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