Class AbstractScheduler

java.lang.Object
org.apache.pekko.actor.AbstractSchedulerBase
org.apache.pekko.actor.AbstractScheduler
All Implemented Interfaces:
Scheduler

public abstract class AbstractScheduler extends AbstractSchedulerBase
An Apache Pekko 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 org.apache.pekko.event.LoggingAdapter 3) a java.util.concurrent.ThreadFactory

  • Constructor Details

    • AbstractScheduler

      public AbstractScheduler()
  • Method Details

    • scheduleOnce

      public abstract Cancellable scheduleOnce(scala.concurrent.duration.FiniteDuration delay, 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.
    • scheduleOnce

      public Cancellable scheduleOnce(Duration delay, 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.
    • maxFrequency

      public abstract 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.