繁体   English   中英

python schedule 没有运行所有的作业

[英]python schedule not running all the jobs

我正在使用python schedule模块在 heroku (Hobby Tier) 实例上安排一堆 (40+) 日常重复作业。 我运行一个脚本作为入口点(在机器每次重新启动时调用):

if __name__ == "__main__":
     schedule.every().day.at(session_time).do(_run_leetcode_session, bot, chat_id, team_name=team_name)

在我安排的大约 40 个作业中,看起来其中一些没有运行。 到。 验证我运行以下调试脚本:

for job in schedule.jobs:
         logging.info(job)

我得到以下日志

2020-03-05 23:06:31,606 - root - INFO - Every 1 day at 12:00:00 do _run_leetcode_session(<telegram.bot.Bot object at 0x7f9576039b50>, '-375976592', team_name='🎊Leetcode Team 100') (last run: 2020-03-05 12:00:01, next run: 2020-03-06 12:00:00)
2020-03-05 23:06:31,606 - root - INFO - Every 1 day at 15:30:00 do _run_leetcode_session(<telegram.bot.Bot object at 0x7f9576039b50>, '-281586101', team_name='🧶Leetcode Practice 201') (last run: [never], next run: 2020-03-05 15:30:00)

第一行很好,但日志在第二行表现出非预期的行为:在2020-03-05 23:06:31我被告知(last run: [never], next run: 2020-03-05 15:30:00) ,实际上该作业并未在2020-03-05 15:30:00执行,现在下一次运行日期已过去。 这个怎么解释?

这是库中的错误吗? 机器有问题吗? 线程设置有问题吗?

发生这种情况是因为 python schedule模块不会自动处理错误,因此如果一项作业中断调度程序中断,并且不会执行以下所有作业。

一种解决方法是使用一个实现来捕获像这个SafeScheduler这样的异常

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM