Scheduler

Methods

Scheduler.__init__(timer: moderngl_window.timers.base.BaseTimer)[source]

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[source]

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[source]

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[source]

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.

  • to 0. arguments (Defaults) – 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[source]

Run the scheduler without blocking and execute any expired events.

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

Cancel a previously scheduled event.

Parameters
  • event_id (int) – event to be canceled

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