betty.job.scheduler.default module

Betty’s default job scheduler.

final class betty.job.scheduler.default.DefaultScheduler

Bases: Scheduler

Betty’s default job scheduler.

This is thread-safe, which means you can safely use this between different threads.

__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.