获取队列而不提供其所有属性

sag*_*sag 6 ruby queue message-queue rabbitmq bunny

我正在尝试为现有队列编写使用者.

RabbbitMQ在一个单独的实例中运行,名为"org-queue"的队列已经创建并绑定到交换机.org-queue是一个持久队列,它还有一些额外的属性.

现在我需要从这个队列接收消息.我使用下面的代码来获取队列的实例

conn = Bunny.new
conn.start
ch = conn.create_channel    
q = ch.queue("org-queue")
Run Code Online (Sandbox Code Playgroud)

它给我一个错误,说明不同的耐用性.默认情况下,Bunny使用的持久= false.所以我添加了持久的true作为参数.现在它说明了其他参数之间的区别.我是否需要指定所有参数才能连接到它?由于rabbitMQ由不同的环境维护,我很难获得所有属性.

有没有办法获取队列列表并在客户端中侦听所需的队列,而不是通过所有参数连接到队列.

小智 2

您是否尝试过queue()上的:passive=true参数?一个真实的例子是logstash的rabbitmq插件。:passive 意味着仅检查队列是否存在,而不是在使用队列中的消息时声明它。