Interface ActionScheduler

All Superinterfaces:
Initializable

public interface ActionScheduler
Interface which generates actions to be performed as well as calculating the interval that should elapse before the action is performed.
  • Method Summary

    Modifier and Type
    Method
    Description
    This method is invoked only once to obtain the first action and interval.
    default boolean
    Return false unless it is guaranteed that all procedures are also read only.
    default boolean
    If this method returns true that means the type of procedure which this scheduler can run is restricted based upon the scope type.

    Methods inherited from interface org.voltdb.task.Initializable

    getDependencies
  • Method Details

    • getFirstScheduledAction

      ScheduledAction getFirstScheduledAction()
      This method is invoked only once to obtain the first action and interval. The action will be performed after the provided time interval has elapsed. After the action has been performed the callback will be invoked with the result of the action. The return of the callback will be used as the next action and interval.

      If this method throws an exception or returns null the task instance will halted and put into an error state.

      Returns:
      ScheduledAction with the action and interval after which the action is performed
    • restrictProcedureByScope

      default boolean restrictProcedureByScope()
      If this method returns true that means the type of procedure which this scheduler can run is restricted based upon the scope type.
      • SYSTEM - Cannot run single partition procedures
      • HOSTS - Only NT procedures are allowed
      • PARTITIONS - Only partitioned procedures are allowed

      Default return is false

      Returns:
      true if the type of procedure this scheduler can run should be restricted based upon scope
    • isReadOnly

      default boolean isReadOnly()
      Return false unless it is guaranteed that all procedures are also read only.
      Returns:
      true if all procedures returned by this instance are read only