【发布时间】:2020-06-19 08:12:59
【问题描述】:
我不希望代码在这 5 分钟内进入睡眠状态,只是等待。同时,我想运行一些其他代码块或脚本。
如何运行每 5 分钟执行一次的 python 脚本,但同时执行它代码块的其他一些脚本,直到再次达到 5 分钟时间。
例如我想运行 3 个函数。每 5 分钟运行一次。每 1 分钟再一次。每 10-20 秒再一次。
【问题讨论】:
我不希望代码在这 5 分钟内进入睡眠状态,只是等待。同时,我想运行一些其他代码块或脚本。
如何运行每 5 分钟执行一次的 python 脚本,但同时执行它代码块的其他一些脚本,直到再次达到 5 分钟时间。
例如我想运行 3 个函数。每 5 分钟运行一次。每 1 分钟再一次。每 10-20 秒再一次。
【问题讨论】:
您可以使用Thread 来控制您的子进程并最终在 5 分钟后将其杀死
【讨论】:
import time
delay = 1 # time between your next script execution
wait = delay
t1 = time.time()
while True:
t2 = time.time() - t1
if t2 >= wait:
wait += delay
# execute your script once every 5 minutes (now it is set to 1 second)
# execute your other code here
首先,您需要获取脚本的时间,然后您需要一个变量来存储脚本的“等待时间”(在本例中为“等待”)。
每次您的脚本时间高于或等于“等待”时,都会添加延迟变量等待并执行代码。
对于多次延迟,它是:
import time
delay = [1, 3]
wait = [delay[0], delay[1]]
t1 = time.time()
while True:
t2 = time.time() - t1
for i in range(len(wait)):
if t2 >= wait[i]:
wait[i] += delay[i]
if i==0:
print("This is executed every second")
if i==1:
print("This is executed every 3 second")
【讨论】: