首页 > 解决方案 > 在python中交替时间定期安排任务

问题描述

我想在 57 分钟和 05 分钟安排一个任务,每两个小时交替一次。所以执行过程中的时间间隔在 52 分钟和 68 分钟之间交替,平均为 60 分钟。对于给定的小时 x,我想执行代码的时间是:x:05; x:57; (x+2):05, (x+2):57; ...我目前使用 python 模块计划和以下代码:

schedule.every(2).hours.at(':05').do(job1)
schedule.every(2).hours.at(':57').do(job2)

while True:
    schedule.run_pending()
    time.sleep(1)

我怎样才能最好地确保代码没有在 x:57 运行,然后在下一小时的 (x+1):05 再次运行(意味着间隔只有 8 分钟长)?

编辑:我可以添加以下内容:

minutes = datetime.now().minutes
if not (minutes  < 5 or minutes  > 57):
    time.sleep(60 - minutes)

然后安排,但我会错过 2 次不理想的处决。

标签: pythonscheduled-tasksschedule

解决方案


推荐阅读