在python中定期交替安排任务

在python中定期交替安排任务,python,scheduled-tasks,schedule,Python,Scheduled Tasks,Schedule,我想在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: schedul

我想在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)
minutes=datetime.now().minutes
如果不是(分钟<5分钟或分钟>57分钟):
睡眠时间(60分钟)

然后安排时间,但我会错过2次执行,这并不理想。

所以如果你在1:00开始执行,你希望作业在1:05、2:05、2:57、3:57、4:05运行?如果我在1:00开始,我希望在1:05、1:57、3:05、3:57运行。。。如果我真的在1:00启动它,我上面的代码应该可以正常工作。但它应该在任何时候都能完美地工作。如果我在1:50开始,它应该首先在1:57执行,然后是3:05,而不是2:05。希望把事情弄清楚!所以如果你在2:00开始跑步,你希望第一次跑步是在3:05或2:05?第一次跑步是在2:05