gpt4 book ai didi

python - 限速 Python 中的无限 While 循环

转载 作者:太空狗 更新时间:2023-10-30 02:11:29 26 4
gpt4 key购买 nike

如果我有一个无限的 while 循环,我怎样才能让循环从循环迭代开始后每 10 分钟运行一次下一次迭代?

如果第一次迭代在凌晨 1:00 开始并在凌晨 1:09 结束,则下一次迭代应在凌晨 1:10 运行,而不是再等待 10 分钟(如下面的代码片段所示)。如果循环迭代运行时间超过 10 分钟,则应立即运行下一次迭代并开始下一个 10 分钟的倒计时。

while(True):

someLongProcess() # takes 5-15 minutes
time.sleep(10*60)

示例

Loop 1: Starts 1:00am, ends 1:09am
Loop 2: Start 1:10am, ends 1:25am # ends 5 minutes later

Loop 3: Starts 1:25am, ends 1:30am # ends 5 minutes earlier
Loop 4: Starts 1:35am, ends 1:45am

最佳答案

记住开始时间,用它计算 sleep 时间。

while True:
start = time.time()
some_long_process()
end = time.time()
remain = start + 10*60 - end
if remain > 0:
time.sleep(remain)

关于python - 限速 Python 中的无限 While 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21897438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com