首页 > 解决方案 > 如何从调度程序中获取错过的作业

问题描述

我正在使用 BackgroundScheduler 调度程序来安排我的工作。

from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore

jobstores = {'default': SQLAlchemyJobStore(engine=my_db_engine)}
scheduler = BackgroundScheduler(jobstores=jobstores)

job = scheduler.add_job(my_job, run_date=some_future_time, misfire_grace_time=60)

我想为通过 misfire_grace_time 的调度程序获取错过的作业。这scheduler.get_jobs()将只提供未来的工作。

标签: python-3.xapscheduler

解决方案


不确定你真正想要的是什么,但你可以为错过的工作添加一个监听器:

def listener(event):
    ...

scheduler.add_listener(listener, EVENT_JOB_MISSED)

这里有一些文档。


推荐阅读