betty.job.scheduler.default module#

Betty’s default job scheduler.

final class betty.job.scheduler.default.DefaultScheduler#

Bases: Scheduler

Betty’s default job scheduler.

__init__(*, user: User, context: Context | None = None)#
async add(*jobs: Job) None#

Add a new job.

async cancel(reason: BaseException | None = None, /) None#

Close the scheduler and cancel any pending jobs.

async complete() None#

Close the scheduler and wait for any pending jobs to complete.

async get() ScheduledJobBatch#

Get a batch of jobs to execute.

async release() None#

Release the scheduler.

Once called, jobs are released by betty.job.scheduler.Scheduler.get(), and new jobs with dependents can no longer be added.