scheduler.adder module

定时任务添加器

本模块实现定时任务添加器,用于添加定时任务,支持多个任务的添加。

ScheduleAdder 用于添加单个任务, MultipleAdder 用于添加多个任务。

示例

假设有一个函数,需要在指定时间执行:

import logging
from datetime import datetime, timedelta
def func(a, b, c):
    logging.info('a=%s, b=%s, c=%s', a, b, c)

使用 ScheduleAdder 添加单个任务:

single_adder = ScheduleAdder(func, run_time=datetime(2023, 1, 1))
single_adder(1, 2, 3)

使用 MultipleAdder 添加多个任务:

job_adder = MultipleAdder(func)
job_adder.schedule('schedule', run_time=datetime(2023, 1, 1))(1, 2, 3)
adder_later = job_adder.schedule('later', run_time=timedelta(minutes=5))
adder_later(4, 5, 6)
job_adder.schedule()(7, 8, 9)
class scheduler.adder.MultipleAdder(func: Callable[[P], None])[源代码]

基类:Generic[P]

多个定时任务添加器

func

被绑定的函数

Type:

Callable

schedule()[源代码]

获取单次定时任务添加器

schedule(id: str | None = None, name: str | None = None, *, run_time: datetime | timedelta | None = None, replace: bool = True) ScheduleAdder[P][源代码]

规划单次定时任务

返回:

单次定时任务添加器

返回类型:

ScheduleAdder

引用

ScheduleAdder :method:`ScheduleAdder.__init__`

class scheduler.adder.ScheduleAdder(func: Callable[[P], None], *, id: str | None = None, name: str | None = None, run_time: datetime | timedelta | None = None, replace: bool = True)[源代码]

基类:Generic[P]

定时任务添加器

绑定调用的函数,调用时添加对应的定时任务

func

被绑定的函数

Type:

Callable

id

任务ID,唯一值

Type:

str | None

name

用于呈现的任务名称,往往无用,请勿和ID混淆

Type:

str | None

run_time

运行的时间 运行时间,指定时间、时间差或即刻发送

Type:

datetime | timedelta | None

replace

是否替换已存在的任务

Type:

bool