akka.actor
Interface Scheduler

All Known Implementing Classes:
AbstractScheduler, AbstractSchedulerBase, LightArrayRevolverScheduler

public interface Scheduler

An Akka scheduler service. This one needs one special behavior: if Closeable, it MUST execute all outstanding tasks upon .close() in order to properly shutdown all dispatchers.

Furthermore, this timer service MUST throw IllegalStateException if it cannot schedule a task. Once scheduled, the task MUST be executed. If executed upon close(), the task may execute before its timeout.

Scheduler implementation are loaded reflectively at ActorSystem start-up with the following constructor arguments: 1) the system’s com.typesafe.config.Config (from system.settings.config) 2) a akka.event.LoggingAdapter 3) a java.util.concurrent.ThreadFactory


Method Summary
 double maxFrequency()
          The maximum supported task frequency of this scheduler, i.e.
 Cancellable schedule(scala.concurrent.duration.FiniteDuration initialDelay, scala.concurrent.duration.FiniteDuration interval, ActorRef receiver, java.lang.Object message, scala.concurrent.ExecutionContext executor, ActorRef sender)
          Schedules a message to be sent repeatedly with an initial delay and frequency.
 Cancellable schedule(scala.concurrent.duration.FiniteDuration initialDelay, scala.concurrent.duration.FiniteDuration interval, scala.Function0<scala.runtime.BoxedUnit> f, scala.concurrent.ExecutionContext executor)
          Schedules a function to be run repeatedly with an initial delay and a frequency.
 Cancellable schedule(scala.concurrent.duration.FiniteDuration initialDelay, scala.concurrent.duration.FiniteDuration interval, java.lang.Runnable runnable, scala.concurrent.ExecutionContext executor)
          Schedules a function to be run repeatedly with an initial delay and a frequency.
 Cancellable scheduleOnce(scala.concurrent.duration.FiniteDuration delay, ActorRef receiver, java.lang.Object message, scala.concurrent.ExecutionContext executor, ActorRef sender)
          Schedules a message to be sent once with a delay, i.e.
 Cancellable scheduleOnce(scala.concurrent.duration.FiniteDuration delay, scala.Function0<scala.runtime.BoxedUnit> f, scala.concurrent.ExecutionContext executor)
          Schedules a function to be run once with a delay, i.e.
 Cancellable scheduleOnce(scala.concurrent.duration.FiniteDuration delay, java.lang.Runnable runnable, scala.concurrent.ExecutionContext executor)
          Schedules a Runnable to be run once with a delay, i.e.
 

Method Detail

schedule

Cancellable schedule(scala.concurrent.duration.FiniteDuration initialDelay,
                     scala.concurrent.duration.FiniteDuration interval,
                     ActorRef receiver,
                     java.lang.Object message,
                     scala.concurrent.ExecutionContext executor,
                     ActorRef sender)
Schedules a message to be sent repeatedly with an initial delay and frequency. E.g. if you would like a message to be sent immediately and thereafter every 500ms you would set delay=Duration.Zero and interval=Duration(500, TimeUnit.MILLISECONDS)

Java & Scala API

Parameters:
initialDelay - (undocumented)
interval - (undocumented)
receiver - (undocumented)
message - (undocumented)
executor - (undocumented)
sender - (undocumented)
Returns:
(undocumented)

schedule

Cancellable schedule(scala.concurrent.duration.FiniteDuration initialDelay,
                     scala.concurrent.duration.FiniteDuration interval,
                     scala.Function0<scala.runtime.BoxedUnit> f,
                     scala.concurrent.ExecutionContext executor)
Schedules a function to be run repeatedly with an initial delay and a frequency. E.g. if you would like the function to be run after 2 seconds and thereafter every 100ms you would set delay = Duration(2, TimeUnit.SECONDS) and interval = Duration(100, TimeUnit.MILLISECONDS)

Scala API

Parameters:
initialDelay - (undocumented)
interval - (undocumented)
f - (undocumented)
executor - (undocumented)
Returns:
(undocumented)

schedule

Cancellable schedule(scala.concurrent.duration.FiniteDuration initialDelay,
                     scala.concurrent.duration.FiniteDuration interval,
                     java.lang.Runnable runnable,
                     scala.concurrent.ExecutionContext executor)
Schedules a function to be run repeatedly with an initial delay and a frequency. E.g. if you would like the function to be run after 2 seconds and thereafter every 100ms you would set delay = Duration(2, TimeUnit.SECONDS) and interval = Duration(100, TimeUnit.MILLISECONDS)

Java API

Parameters:
initialDelay - (undocumented)
interval - (undocumented)
runnable - (undocumented)
executor - (undocumented)
Returns:
(undocumented)

scheduleOnce

Cancellable scheduleOnce(scala.concurrent.duration.FiniteDuration delay,
                         ActorRef receiver,
                         java.lang.Object message,
                         scala.concurrent.ExecutionContext executor,
                         ActorRef sender)
Schedules a message to be sent once with a delay, i.e. a time period that has to pass before the message is sent.

Java & Scala API

Parameters:
delay - (undocumented)
receiver - (undocumented)
message - (undocumented)
executor - (undocumented)
sender - (undocumented)
Returns:
(undocumented)

scheduleOnce

Cancellable scheduleOnce(scala.concurrent.duration.FiniteDuration delay,
                         scala.Function0<scala.runtime.BoxedUnit> f,
                         scala.concurrent.ExecutionContext executor)
Schedules a function to be run once with a delay, i.e. a time period that has to pass before the function is run.

Scala API

Parameters:
delay - (undocumented)
f - (undocumented)
executor - (undocumented)
Returns:
(undocumented)

scheduleOnce

Cancellable scheduleOnce(scala.concurrent.duration.FiniteDuration delay,
                         java.lang.Runnable runnable,
                         scala.concurrent.ExecutionContext executor)
Schedules a Runnable to be run once with a delay, i.e. a time period that has to pass before the runnable is executed.

Java & Scala API

Parameters:
delay - (undocumented)
runnable - (undocumented)
executor - (undocumented)
Returns:
(undocumented)

maxFrequency

double maxFrequency()
The maximum supported task frequency of this scheduler, i.e. the inverse of the minimum time interval between executions of a recurring task, in Hz.

Returns:
(undocumented)