我正在尝试为现有队列编写消费者。
RabbbitMQ 在一个单独的实例中运行,名为“org-queue”的队列已经创建并绑定(bind)到一个交换器。 org-queue 是一个持久队列,它还有一些额外的属性。
现在我需要从这个队列接收消息。 我使用下面的代码来获取队列的实例
conn = Bunny.new
conn.start
ch = conn.create_channel
q = ch.queue("org-queue")
它抛出一个错误,指出不同的耐用属性。默认情况下,Bunny 似乎使用 durable = false。所以我添加了 durable true 作为参数。现在它说明了其他参数之间的区别。我是否需要指定所有参数才能连接到它?由于rabbitMQ由不同的环境维护,我很难获得所有的属性。
有没有办法获取队列列表并在客户端中监听所需的队列,而不是通过所有参数连接到队列。
最佳答案
你试过 queue() 的 :passive=true 参数吗?一个真实的例子是 rabbitmq plugin of logstash . :passive 表示只检查队列是否存在,而不是在使用消息时声明它。
关于ruby - 在不提供其所有属性的情况下获取队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35430106/