APSchedu中超出计划的手动作业执行

2024-04-26 12:09:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个作业是使用APScheduler中的cron调度程序来为我的Flask应用程序运行某种功能。在

我也希望能够手动运行这个函数,而不会中断我已经设置的计划。在

例如,假设任务被设置为每天运行一次,我还希望在用户执行特定操作时手动运行它。在

作业的两个实例不能同时运行是很重要的(这就是为什么我不简单地调用函数本身),所以我尝试使用APScheduler来解决在计划运行繁忙时执行手动触发器的情况。在


Tags: 实例函数用户程序功能程序运行flask作业
1条回答
网友
1楼 · 发布于 2024-04-26 12:09:49

这实际上是这个问题的复制品:APScheduler how to trigger job now

拉尔斯·布隆伯格的回答就是为我解决这个问题的答案。我用了这句话:

scheduler_object.get_job(job_id ="my_job_id").modify(next_run_time=datetime.datetime.now())

这样可以确保特定作业立即运行,并保持以前的计划。如果计划的作业已经在运行,这将不会立即触发作业(我需要的行为)…除非您将max_instances设置为大于1。类似地,如果手动执行作业,并且在触发计划运行时它正在运行,则除非max_instances大于1,否则它也不会执行。在

相关问题 更多 >