我正在运行一个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()
我认为添加misfire_grace_time
可以解决问题,但每项工作仍然缺失。
答案 0 :(得分:2)
尝试在@sched.scheduled_job('cron', hour=3, id='validation', misfire_grace_time=3600)
答案 1 :(得分:1)
self.scheduler = BlockingScheduler(
logger=log,
job_defaults={'misfire_grace_time': 15*60},
)
将misfire_grace_time
添加为job_defaults
即可