开发者社区> 问答> 正文

在下一小时[关门]前开始循环

我需要运行一个脚本,它将从一个web服务中获取一个周期的数据,这是一个每小时一次的周期,所以我不能在任何时候都这样做,我需要在之后的某个确切时间打开这个周期。 比如,如果我在15:30运行,程序只会在15:55到16:55之间循环,然后关闭。 我知道我可以关掉它

start = time.time()

PERIOD_OF_TIME = 3600 # 60 min

while True :
    ... do something

    if time.time() > start + PERIOD_OF_TIME : break

但我怎么能把它搁置一段时间呢?从下一个每小时循环开始睡到5分钟? 这不是例行公事,如果是,我就在crontab上安排,这需要随叫随到。 编辑: 我想出来了!现在,在执行命令之前,它一直保持到当前小时的55分钟

import datetime

now = datetime.datetime.now()
h = (55 - now.minute)
s = (h*60)
time.sleep(s)

不管怎样,还是要谢谢你的帮助! 问题来源StackOverflow 地址:/questions/59379831/time-to-start-a-cycle-before-next-hour

展开
收起
kun坤 2019-12-29 21:35:30 211 0
1 条回答
写回答
取消 提交回答
  • 可以使用time.sleep(t)方法,其中t表示希望挂起执行的秒数。

    2019-12-29 21:35:36
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载