【发布时间】:2022-02-18 03:37:33
【问题描述】:
我正在尝试使用 2 个异步函数创建 Python 生产者和消费者。其中一个函数是从服务器(生产者)获取数据的回调,另一个是每 N 秒执行一次的定时回调(消费者)。我正在尝试为此使用 ZMQ/Reactor,因为我想避免计时器线程的开销,而只使用事件循环。 ZMQ/Reactor 事件循环是否按到达顺序执行每个事件,或者消费者函数是否有可能随时上下文切换到生产者函数?
简化示例:
主要问题是我无法从列表中弹出所有项目并自动清除它
queue = []
def producer():
# gets data from server
queue.append(single_record)
def consumer():
records = list(queue)
# inserts records into db
queue.clear()
【问题讨论】:
标签: python asynchronous zeromq