我使用py-amqp和Flopsy模块遇到了这个奇怪的问题。我编写了一个将消息发送到 RabbitMQ 服务器的发布者,我希望能够将其发送到指定的队列。在 Flopsy 模块上这是不可能的,所以我对其进行了调整,添加了一个参数和一行来在 Publisher 对象的 _init__ 方法上声明队列
def __init__(self, routing_key=DEFAULT_ROUTING_KEY,
exchange=DEFAULT_EXCHANGE, connection=None,
delivery_mode=DEFAULT_DELIVERY_MODE, queue=DEFAULT_QUEUE):
self.connection = connection or Connection()
self.channel = self.connection.connection.channel()
self.channel.queue_declare(queue) # ADDED TO SET UP QUEUE
self.exchange = exchange
self.routing_key = routing_key
self.delivery_mode = delivery_mode
通道对象是 py-amqplib 库的一部分
我遇到的问题是,即使它将消息发送到指定的队列,它也会将消息发送到默认队列。因为在这个系统中,我们希望发送相当多的消息,我们不想强调系统制造无用的重复......我试图调试代码并进入 py-amqplib 库,但我无法找出任何错误或缺少步骤。此外,我无法在代码之外找到任何文档形式的 py-amqplib。
关于为什么会发生这种情况以及如何纠正它的任何想法?