我想每隔x秒运行一次功能,除非被打断,否则永远不会结束。使用threading.Timer每次都会产生一个新线程。有没有办法在一个线程中实现相同的目标?
答案 0 :(得分:3)
import time
def job():
... code for the function you want to run
def execute():
while(True):
job()
time.sleep(x) # where x is the interval between jobs in seconds
答案 1 :(得分:0)
在Python 3.4+中有一个名为asyncio的库,它允许你每隔一段时间做一次重复的任务,再加上常规的东西。您将所有任务放在一个永远运行的循环中。
How can I periodically execute a function with asyncio?有一个使用此库的答案。