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

Python APScheduler中超出计划的手动作业执行,python,flask,apscheduler,Python,Flask,Apscheduler,我有一个作业,它是使用APScheduler中的cron调度程序来调度的,以便为我的Flask应用程序运行某种功能 我还希望能够手动运行此功能,而不会中断我设置的日程安排 例如,假设任务设置为每天运行一次,我还希望在用户执行特定操作时手动运行它 重要的是作业的两个实例不能同时运行,这就是为什么我不简单地调用函数本身的原因-因此我尝试使用ApsScheduler提出一个解决方案,以防止在计划运行繁忙时执行手动触发的情况 这实际上是这个问题的重复: 拉尔斯·布隆伯格的回答为我解决了这个问题。我用了这

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

我还希望能够手动运行此功能,而不会中断我设置的日程安排

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


重要的是作业的两个实例不能同时运行,这就是为什么我不简单地调用函数本身的原因-因此我尝试使用ApsScheduler提出一个解决方案,以防止在计划运行繁忙时执行手动触发的情况

这实际上是这个问题的重复:

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

scheduler_object.get_job(job_id ="my_job_id").modify(next_run_time=datetime.datetime.now())
这确保了特定作业将立即运行,并保持以前的计划。如果计划作业已在运行,这将不会触发我现在想要的作业行为…除非您已将max_实例设置为1以上。类似地,如果手动执行作业,并且在触发计划运行时该作业正在运行,则除非max_instances大于1,否则该作业也不会执行