ADS*_*ADS 2 python flask apscheduler
我有一个使用cronAPScheduler 中的调度程序安排的作业,为我的 Flask 应用程序运行某种功能。
我还希望能够手动运行此功能,而不会中断我也设置的时间表。
例如,假设任务设置为每天运行一次,我还想在用户执行特定操作时手动运行它。
重要的是作业的两个实例不能同时运行(这就是为什么我不简单地调用函数本身) - 所以我试图想出一个使用 APScheduler 的解决方案来防止出现以下情况:当计划运行繁忙时执行手动触发。
这实际上是这个问题的重复:APScheduler how to trigger job now
拉尔斯·布隆伯格的回答为我解决了这个问题。我用了这一行:
scheduler_object.get_job(job_id ="my_job_id").modify(next_run_time=datetime.datetime.now())
Run Code Online (Sandbox Code Playgroud)
这确保特定作业将立即运行,并保持先前的计划。如果计划的作业已经在运行,那么现在不会触发作业(对我来说是期望的行为)...除非您设置max_instances为大于 1。同样,如果您手动执行作业并且它在计划的运行时正在运行触发后,除非max_instances大于1,否则也不会执行。
| 归档时间: |
|
| 查看次数: |
2028 次 |
| 最近记录: |