module documentation

A Scheduler is the core interface of Fritter; a collection of timed calls scheduled by callAt connected to a TimeDriver that causes them to actually be called.

Class ConcreteScheduledCall A handle to a call that has been scheduled.
Function schedulerFromDriver Create a new in-memory scheduler.
Class _PriorityQueueBackedSchedulerImpl A Scheduler allows for scheduling work (of the type WhatT, which must be at least a 0-argument None-returning callable) at a given time (WhenT, which much be sortable as a PriorityComparable).
@overload
def schedulerFromDriver(driver: TimeDriver[WhenT], nextID: Callable[[], IDT], queue: PriorityQueue[ConcreteScheduledCall[WhenT, WhatT, IDT]]|None = None) -> Scheduler[WhenT, WhatT, IDT]:
@overload
def schedulerFromDriver(driver: TimeDriver[WhenT], *, queue: PriorityQueue[ConcreteScheduledCall[WhenT, WhatT, int]]|None = None) -> Scheduler[WhenT, WhatT, int]:
(source)

Create a new in-memory scheduler.

Parameters
driver:TimeDriver[WhenT]The TimeDriver to use for the new scheduler.
nextID:Callable[[], IDT]|NoneA callable that will generate new opaque IDs. By default, sequential integers will be used.
queue:PriorityQueue[ConcreteScheduledCall[WhenT, WhatT, IDT]]|NoneIf desired, a custom PriorityQueue implementation. By default, a new Heap will be used.
Returns
Scheduler[WhenT, WhatT, IDT]Undocumented