Packages

  • package root
    Definition Classes
    root
  • package csw
    Definition Classes
    root
  • package time
    Definition Classes
    csw
  • package scheduler

    This module provides implementation for Time Service Scheduler which provides APIs for scheduling periodic and non-periodic tasks in the future, which are optimised for scheduling at up to 1KHz frequency.

    This module provides implementation for Time Service Scheduler which provides APIs for scheduling periodic and non-periodic tasks in the future, which are optimised for scheduling at up to 1KHz frequency.

    For component developers, the scheduler API is injected in the ComponentHandlers. Hence for them, there is no need to create a csw.time.scheduler.api.TimeServiceScheduler instance.

    If you are not using csw-framework, you can create an instance like shown below.

    val scheduler: TimeServiceScheduler = TimeServiceSchedulerFactory.make()(actorSystem)

    In addition to the Scheduler API, this module also provides a csw.time.core.TMTTimeHelper API which provides additional time zone related functionality on top of csw.time.core.models.TMTTime. It allows users to get a java.time.ZonedDateTime representation of a TMTTime.

    Following is a small sample showing how to access utilities from TMTTimeHelper.

    TMTTimeHelper.atLocal(utcTime)
    TMTTimeHelper.atHawaii(utcTime)
    Definition Classes
    time
  • package api
    Definition Classes
    scheduler
  • Cancellable
  • TimeServiceScheduler
t

csw.time.scheduler.api

TimeServiceScheduler

trait TimeServiceScheduler extends AnyRef

Scheduler for scheduling periodic/non-periodic tasks at a specified time and/or interval. It supports scheduling on both csw.time.core.models.UTCTime and csw.time.core.models.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.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TimeServiceScheduler
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def scheduleOnce(startTime: TMTTime, receiver: ActorRef, message: Any): Cancellable

    Sends message to the given actor at the given start time.

    Sends message to the given actor at the given start time.

    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

  2. abstract def scheduleOnce(startTime: TMTTime, task: Runnable): Cancellable

    Schedules a task to execute once at the given start time.

    Schedules a task to execute once at the given start time.

    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

  3. abstract def scheduleOnce(startTime: TMTTime)(task: => Unit): Cancellable

    Schedules a task to execute once at the given start time.

    Schedules a task to execute once at the given start time.

    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

  4. abstract def schedulePeriodically(startTime: TMTTime, interval: Duration, receiver: ActorRef, message: Any): Cancellable

    Sends message to the given actor periodically at the given interval.

    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.

    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

  5. abstract def schedulePeriodically(startTime: TMTTime, interval: Duration, task: Runnable): Cancellable

    Schedules a task to execute periodically at the given interval.

    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.

    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

  6. abstract def schedulePeriodically(startTime: TMTTime, interval: Duration)(task: => Unit): Cancellable

    Schedules a task to execute periodically at the given interval.

    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.

    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

  7. abstract def schedulePeriodically(interval: Duration, receiver: ActorRef, message: Any): Cancellable

    Sends message to the given actor periodically at the given interval.

    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.

    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

  8. abstract def schedulePeriodically(interval: Duration, task: Runnable): Cancellable

    Schedules a task to execute periodically at the given interval.

    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.

    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

  9. abstract def schedulePeriodically(interval: Duration)(task: => Unit): Cancellable

    Schedules a task to execute periodically at the given interval.

    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.

    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

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  14. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  15. def toString(): String
    Definition Classes
    AnyRef → Any
  16. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped