Python每小时每5分钟重复一次算法

时间:2016-03-01 12:06:22

标签: python loops time

我需要编写一个Python代码,以便在每小时的每一分钟重复一次交易算法。我试过的所有解决方案,例如Sleep()都会将机器时间相加,这不是我想要的。

我需要保持调用之间的状态,...我希望算法每5分钟运行一次(例如14:00; 14:05; 14:10; 14:15 ......)。算法(重新获取数据和计算数字)本身需要大约12秒才能执行。如果计算机被暂停,我将跳过迭代。

3 个答案:

答案 0 :(得分:1)

修改

根据您的评论:"我希望算法每5分钟运行一次(例如14:00; 14:05; 14:10; 14:15 ......) "

使用datetime和无限循环:

import time
import datetime

while True:
    if datetime.datetime.now().minute % 5 == 0: 
        #do algorithm
    time.sleep(60)

答案 1 :(得分:1)

如果你在linux环境中工作,你可以使用cron作业。通过

打开cron选项卡
crontab -e

以下将每隔5分钟启动一个python脚本cronjob.py:

5 * * * * python /path/to/script/cronjob.py

编辑:因为op指定“希望算法每5分钟运行一次”:

*/5 * * * * python /path/to/script/cronjob.py

答案 2 :(得分:0)

import time

while True:
    time.sleep(300 - time.time() % 300)
    crunch_numbers()
crunch_numbers()时钟定义的5分钟边界上调用

time.time()