我仍然是业余程序员,只是想了解如何解决这个问题。我正在用Python写作。
我的输入始终在不断更新(连续流)。当它出现时,我在最新的条目上运行for循环,验证是否满足一系列条件。如果是这样,那么程序需要等待5分钟才能对该输入执行下一个操作。但它还需要继续检查其余的输入。
所以,伪代码:
inputs = continous_stream_of_input
for input in inputs:
if conditions == True:
wait 5 minutes
do next action
但是这个块需要在进入的每一个输入上运行,一旦进入(没有5分钟的延迟)。我该怎么办?
答案 0 :(得分:1)
这看起来像是来自线程模块的计时器的理想位置:
import threading
# It can take whatever args you want.
def do_action(a, b, c):
# It can do whatever you want.
inputs = continuous_stream_of_input
for input in inputs:
if conditions:
# 5 minutes is 300 seconds. args is, again, whatever you want.
threading.Timer(300, do_action, args=(a, b, c)).start()