运行 Python WebSocket 每分钟通过函数调用同时检查其他无关信息

Running Python WebSocket While Concurrently Checking Other Unrelated Information with a Function Call Every Minute

我有一个WebSocket我运行大致如下:

import websocket

def on_message(ws, message):
    ...

ws = websocket.WebSocketApp(socket, on_open=on_open, on_message=on_message,
                        on_close=on_close)
ws.run_forever(ping_interval=5, ping_timeout=-1)

我想要这个 运行 但还要在经过的每一分钟从函数中执行另一项检查。有什么办法可以做到这一点。我听说过线程或异步,但从未使用过。任何建议将不胜感激。

最简单的方法是使用 threading

import websocket
import threading

def runs_every_minute():
    while True:
        # do something
        time.sleep(60)


def on_message(ws, message):
    ...


t = threading.Thread(target=runs_every_minute)
t.start()  # starts the thread

ws = websocket.WebSocketApp(socket, on_open=on_open, on_message=on_message,
                        on_close=on_close)
ws.run_forever(ping_interval=5, ping_timeout=-1)