添加 misfire_grace_time 后 APScheduler 丢失作业

Pep*_*zza 10 python cron apscheduler

我正在运行一个 BlockingScheduler 进程,它应该运行多个cron作业,但每次都无法运行并显示以下消息:

Run time of job "validation (trigger: cron[hour='3'], next run at: 2016-12-30 03:00:00 CST)" was missed by 0:00:02.549821

我有以下设置:

sched = BlockingScheduler(misfire_grace_time=3600, coalesce=True)
sched.add_jobstore('mongodb', collection='my_jobs')

@sched.scheduled_job('cron', hour=3, id='validation')
def validation():
    rep = Myclass()
    rep.run()

if __name__ == '__main__':
    sched.start()
Run Code Online (Sandbox Code Playgroud)

我认为添加misfire_grace_time可以解决问题,但每项工作仍然无法运行。

小智 9

self.scheduler = BlockingScheduler(
    logger=log,
    job_defaults={'misfire_grace_time': 15*60},
)
Run Code Online (Sandbox Code Playgroud)

添加misfire_grace_timeasjob_defaults将起作用


roh*_*are 5

尝试添加 misfire_grace_time @sched.scheduled_job('cron', hour=3, id='validation', misfire_grace_time=3600)