3

有 Pika 经验的人能否就以下功能是否可行,或者我的想法是否表明对 Pika 缺乏概念性理解,给我一个快速的是/否的回应。

我想要的功能:

Python 服务(单线程脚本)使用 SelectConnection 适配器与我的 RabbitMQ 代理建立了一个连接。

该连接有两个通道。

使用一个通道 A,该服务声明一个队列并绑定到某个交换 E1。另一个通道 B 用于声明其他交换 E2。

该服务通过 A 使用队列中的消息。它对这些消息进行一些小处理,[可能通过其与 MongoDB 实例的连接执行 CRUD 操作],然后通过 B 发布消息以交换 E2。

我已经彻底阅读了 Pika 文档,但没有找到足够的信息来了解这是否可行。

简而言之-单个python脚本可以通过一个选择连接适配器连接发布和消费吗?

4

1 回答 1

2

是的当然。您可以通过多种方式实现这一点(通过相同的连接、不同的连接、相同的通道、不同的通道等)

我在过去实现这一点时所做的是,我创建我的连接,获取通道并使用它的委托(函数)设置我的消费者。当我的消费消息函数被调用时,我得到了它附带的通道参数,我依次使用它来将下一条消息发布到不同的队列。如果您不想使用相同的频道,则可以简单地设置另一个频道。

于 2019-05-15T12:55:03.667 回答