python - 我们可以强制运行 APScheduler 作业库中的作业吗?

标签 python apscheduler

使用 APScheduler 版本 3.0.3。我的应用程序中的服务在内部使用 APScheduler 来安排和运行作业。此外,我确实围绕实际的 APScheduler 创建了一个包装类(只是一个外观,有助于单元测试)。为了对这些服务进行单元测试,我可以模拟这个包装类。但我有一种情况,我真的希望 APScheduler 运行该作业(在测试期间)。有什么办法可以强制运行这项工作吗?

最佳答案

没有立即启 Action 业的默认触发器,以实现此目的 您可以获得当前时间并将 DateTrigger 设置为作业,如下所示:

my_job.modify_job(trigger=DateTrigger(run_date=datetime.datetime.now()))

这样你将“强制”作业运行,但你必须确保将作业再次插入调度程序,另一种选择是创建一个新作业以使用 add_job 函数运行相同的函数

sched.add_job(func=your_function(),
              trigger=DateTrigger(run_date=datetime.datetime.now()))

这样您就不必执行任何额外的步骤。

关于python - 我们可以强制运行 APScheduler 作业库中的作业吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33211867/

相关文章:

python - 有什么方法可以使用 xlwings 创建新工作表吗?

python - 如何快速打印Tensorflow结果到TXT?

python - 在 Tornado 类中传递全局变量

python - Flask APScheduler - Cron Job 只发生在页面上的活跃用户身上

python - 安排 SQLAlchemy 清除表中的所有行

python - 为子进程写入文件输入

python - 如何在python中一个一个地遍历两个列表中的项目

python - 如何使用 apscheduler 精确地每隔一小时执行一个 python 函数,与程序运行开始时间无关

python脚本高级调度

python - 在 Flask 应用程序内运行计划任务时出现线程错误