问题:
将query1,query2,query3添加到队列中。消费者立即开始使用添加的查询。一切正常。
队列为空后,同样的查询将再次添加到队列中。出于某种原因,消费者现在会在开始使用给定查询之前挂起一段时间(5-10秒)。
伪:
from Queue import queue
from Threading import thread
fifo = queue()
class Producer:
def produce_query(self, query):
global fifo
fifo.put(query)
if consumer.not_started():
consumer.start()
class Consumer(Thread):
def run(self):
global fifo
while True:
query = fifo.get(block=True)
self.execute(query)
我不确定我是否误解了队列工作原理。我是否需要通知队列/消费者以使消费者以某种方式立即工作或什么?
我很感激帮助!