我需要写一段Python代码,以便每隔一小时每隔一分钟重复一次交易算法。例如,我尝试的所有解决方案都会将机器时间加起来,而这不是我想要的。
我需要在两次调用之间保存状态,...我希望算法恰好每5分钟运行一次(例如14:00;14:05;14:10;14:15……)。算法(检索数据并对数字进行压缩)本身大约需要12秒才能执行。如果计算机挂起,我将跳过迭代。
发布于 2016-03-01 20:10:54
编辑
根据你的评论,:“我希望算法恰好每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)
发布于 2016-03-03 21:02:37
import time
while True:
time.sleep(300 - time.time() % 300)
crunch_numbers()
在time.time()
时钟定义的5分钟范围内调用crunch_numbers()
。
发布于 2016-03-01 20:13:18
如果您在linux环境中工作,则可以使用cron作业。通过以下方式打开cron选项卡
crontab -e
下面的代码将每隔5分钟启动一次python脚本cronjob.py:
5 * * * * python /path/to/script/cronjob.py
edit:由于op指定了“希望算法每5分钟精确运行一次”:
*/5 * * * * python /path/to/script/cronjob.py
https://stackoverflow.com/questions/35722465
复制相似问题