首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >看起来misfire_grace_time不能工作

看起来misfire_grace_time不能工作
EN

Stack Overflow用户
提问于 2020-02-20 19:03:10
回答 1查看 169关注 0票数 0

我运行的代码如下所示。

代码语言:javascript
复制
scheduler = BackgroundScheduler()
trigger = CronTrigger(day_of_week='0-6', hour=9, minute=12, second='0')
def job2():
    print('job2')
scheduler.add_job(func=job2, trigger=trigger, misfire_grace_time=120, id='task_two')
scheduler.start()
while True:
    print(datetime.datetime.now())
    time.sleep(5)

程序的输出如下:

为什么不执行job2函数?当前时间为09:12,此时间在调度程序指定的时间之后的120秒内。

EN

回答 1

Stack Overflow用户

发布于 2020-02-23 16:38:03

重要的一点是:

代码语言:javascript
复制
Next wakeup is due at 2020-02-22 09:12:00+0800 (in 86368.007853 seconds)

您的本地时间似乎已经超过了每天计划的时间09:12:00,所以作业计划在第二天运行。这就是为什么你看不到它被执行的原因。我不知道为什么,但你似乎有这样的印象,只要触发器在当前时间的misfire_grace_time范围内,它就会在过去产生一个触发时间。这不是它的工作方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60318471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档