【问题标题】:How to run a block of python code for half an hour? [duplicate]如何运行一段python代码半小时? [复制]
【发布时间】:2021-09-03 20:47:02
【问题描述】:

我有一个功能可以不断从实时流中捕获数据。我想运行这段代码 30 分钟。

【问题讨论】:

  • 你好,欢迎!您需要为您的问题添加更多详细信息,以便有人可以帮助您。

标签: python python-3.x datetime pycharm


【解决方案1】:

您可以使用带有 while 循环的 datetime 模块轻松实现此目的:

from datetime import datetime, timedelta

start_time = datetime.now()

while datetime.now() - start_time <= timedelta(minutes=30):
    ... your code ...

通过这样做,您的代码将被重复,直到当前时间和开始时间之间的差小于或等于 30 分钟,这意味着它将在达到 30 分钟后停止。

【讨论】:

  • 谢谢。这个解决方案效果惊人。
【解决方案2】:

一种可能的方法是在单独的进程中运行该函数,并在父进程告诉它时终止(设置quit 事件):

import time
import multiprocessing as mp

def your_function(args, quit):
    while not quit.is_set():
        ... # your code
    return

if __name__ == '__main__':
    quit = mp.Event()
    p = mp.Process(target=your_function, args=(args, quit))
    p.start()
    time.sleep(1800) # in sec, half an hour
    quit.set()

使用 mltiprocessing 的优点是您可以在其他进程监听调用的同时做其他事情。

【讨论】:

    猜你喜欢
    • 2013-07-25
    • 2012-08-28
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2022-07-21
    • 2019-07-02
    • 1970-01-01
    • 2020-09-11
    相关资源
    最近更新 更多