如何在python3上每5分钟重新启动我的代码

时间:2019-02-22 08:15:06

标签: python python-3.x time

我的代码有时会在17秒内工作,有时会在23秒内有时在40秒内随着我的连接速度和获得的数据而变化。但是我想每隔5分钟重复一次工作,例如12:05 12:10 12:15。但是由于工作时间的变化,就像12:05 12:11 12:16。由于一天的时间差,我的代码整天都在运行,而我却得到了将近30分钟的延迟。如果您能帮助我,我将很高兴为所有人度过美好的一天

import time
from datetime import datetime
def main():
present_time=datetime.now()

 *****MY CODE HERE*****
print(datetime.strftime(present_time,"%X"))
while True:
     main()
     time.sleep(300)

1 个答案:

答案 0 :(得分:0)

似乎您想要以下内容,这将导致程序最多休眠到下一个5分钟标记。如果您的代码运行时间超过5分钟,它将不会进入休眠状态,而是立即开始下一个5分钟间隔。

from time import time, sleep

def main():
    # *****YOUR CODE HERE*****

while True:
    start_time = time()
    main()
    sleep(max(0, 5 * 60 + start_time - time()))