# Scheduler

## Methods

Scheduler.__init__(timer: BaseTimer)

  Create a Scheduler object to handle events.

  Parameters:

    timer (BaseTimer) – timer to use, subclass of BaseTimer.

  Raises:

    ValueError – timer is not a valid argument.

Scheduler.run_once(action, delay: float, *, priority: int = 1, arguments=(), kwargs={}) → int

  Schedule a function for execution after a delay.

  Parameters:

    - action (callable) – function to be called.

    - delay (float) – delay in seconds.

    - priority (int, optional) – priority for this event, lower is more important. Defaults to 1.

    - arguments (tuple, optional) – arguments for the action. Defaults to ().

    - kwargs (dict, optional) – keyword arguments for the action. Defaults to dict().

  Returns:

    event id that can be canceled.

  Return type:

    int

Scheduler.run_at(action, time: float, *, priority: int = 1, arguments=(), kwargs={}) → int

  Schedule a function to be executed at a certain time.

  Parameters:

    - action (callable) – function to be called.

    - time (float) – epoch time at which the function should be called.

    - priority (int, optional) – priority for this event, lower is more important. Defaults to 1.

    - arguments (tuple, optional) – arguments for the action. Defaults to ().

    - kwargs (dict, optional) – keyword arguments for the action. Defaults to dict().

  Returns:

    event id that can be canceled.

  Return type:

    int

Scheduler.run_every(action, delay: float, *, priority: int = 1, initial_delay: float = 0.0, arguments=(), kwargs={}) → int

  Schedule a recurring function to be called every delay seconds after a initial delay.

  Parameters:

    - action (callable) – function to be called.

    - delay (float) – delay in seconds.

    - priority (int, optional) – priority for this event, lower is more important. Defaults to 1.

    - initial_delay (float, optional) – initial delay in seconds before executing for the first time.

    - arguments (Defaults to 0.) – arguments for the action. Defaults to ().

    - kwargs (dict, optional) – keyword arguments for the action. Defaults to dict().

  Returns:

    event id that can be canceled.

  Return type:

    int

Scheduler.execute() → None

  Run the scheduler without blocking and execute any expired events.

Scheduler.cancel(event_id: int, delay: float = 0) → None

  Cancel a previously scheduled event.

  Parameters:

    - event_id (int) – event to be canceled

    - delay (float, optional) – delay before canceling the event. Defaults to 0.