微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

可以忽略分钟的调度程序

如何解决可以忽略分钟的调度程序

如何在特定时间段(例如上午 9 点到 12 点之间)运行作业,每小时运行一次,而不考虑分钟数?有时候我用来跑作业的平台是9点02分开始的,所以经常9点没赶上。

解决方法

您可以设置一个计数器来计算它每天运行的时间。例如,每十分钟检查一次计数器的值是否正确。假设服务器在 9:02 和 9:10 开始,脚本检查计数器应该是 1 但应该是 0。在这种情况下,您只需运行该作业。我认为这可以解决您的问题。

,

如果你在谈论 apscheduler(基于标签),你可以设置一个更慷慨的失火宽限时间为 1 小时。

,

你可以试试simple-scheduler。以秒为单位为“reattempt_duration”分配所需的值,以防第一次尝试失败。您还可以控制重试次数。

from simple_scheduler.event import event_scheduler
event_scheduler.timezones()
TZ = "Asia/Kolkata"
WHEN = ["*|09:00","*|10:00","*|11:00","*|12:00"]

event_scheduler.add_job(target = your_job,when = WHEN,tz = TZ,number_of_reattempts=3,reattempt_duration=60*10,job_name = "your_job")
event_scheduler.job_summary()
event_scheduler.run()
event_scheduler.job_summary()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。