【问题标题】:APScheduler missing jobs after adding misfire_grace_time添加 misfire_grace_time 后 APScheduler 缺少作业
【发布时间】:2017-05-16 15:16:50
【问题描述】:

我正在运行一个 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 可以解决问题,但每个作业仍然无法运行。

【问题讨论】:

    标签: python cron apscheduler


    【解决方案1】:
    self.scheduler = BlockingScheduler(
        logger=log,
        job_defaults={'misfire_grace_time': 15*60},
    )
    

    将misfire_grace_time 添加为job_defaults 将起作用

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2020-05-20
        • 2015-05-06
        • 1970-01-01
        • 2021-06-20
        • 1970-01-01
        • 2016-08-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多