【发布时间】:2023-12-19 22:43:01
【问题描述】:
我正在尝试使用 pika 和 twisted 从兔子队列中消费:
- 不断(新消息 -> 消费)
- 一次(新消息 -> 消费一次,在我说之前不要再次消费)
我唯一的输入是这个example。它涵盖了用例 1。用例 2 呢?
basic_consume 不是以在新消息准备好时“通知”的方式实现的吗?为什么开始循环呼叫是我的“工作”?轮询似乎与扭曲的事件循环模式相反,不是吗?
当使用 twisted 发出 http 请求时,它会发送请求并在返回后继续执行(通过延迟)。为什么这在 RabbitMQ/pika 中不起作用?
这是我期望它的工作方式:
- 订阅队列
- 从队列中消费(除非队列中有消息,否则不会立即触发,每次队列中有新消息时都会触发,我暂时忽略qos。)
我如何使用一条消息,例如basic_get?我是否需要启动循环调用,并在收到消息后停止它?
【问题讨论】:
标签: rabbitmq twisted pika python-pika