python-3.x - 如何从调度程序中获取错过的作业
问题描述
我正在使用 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()
将只提供未来的工作。
解决方案
不确定你真正想要的是什么,但你可以为错过的工作添加一个监听器:
def listener(event):
...
scheduler.add_listener(listener, EVENT_JOB_MISSED)
这里有一些文档。
推荐阅读
- entity - 使用插件创建的实体没有有效的 Entity.Id 值
- c# - 在c#中使用正则表达式查找子字符串
- reactjs - 找不到“页面”目录。请在项目根目录下创建一个
- node.js - 使用带有 Node.js 后端的 Angular 应用程序进行 Google 登录
- .htaccess - 无法在 htaccess 或 robots.txt 中阻止 AspiegelBot
- ionic-framework - @ionic/cli 安装后未安装
- c# - 资产“大纲效应”的重加工
- oracle-apex - 当前 apex 版本中的 Oracle Apex 选项卡(旧版)替代方案
- karate - 如何在 karate-config.js 文件中配置空手道 afterScenario
- php - 如何使用最新的作曲家安装旧版本的 Laravel (5.7)