Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RabbitMQ生成许多队列,这些队列永远有效_Ruby On Rails_Ruby_Rabbitmq_Bunny - Fatal编程技术网

Ruby on rails RabbitMQ生成许多队列,这些队列永远有效

Ruby on rails RabbitMQ生成许多队列,这些队列永远有效,ruby-on-rails,ruby,rabbitmq,bunny,Ruby On Rails,Ruby,Rabbitmq,Bunny,我将非常感谢您在解决我的问题方面给予我的帮助 我使用的是Rabbitmq,有很多生成的队列(名称为amq.gen-pMJVWygd3iLb_buXp1oUyw),它们是持久的,并且永远离开 问题在于,此类队列具有exchange core.timeout,但也存在应处理core.timeout的队列 所以我被困在这一刻,找不到这个队列在哪里 根据您的说明,问题似乎是您让代码中的兔子在连接到exchange时自动创建持久队列 尝试调试类MQ以查看队列创建在exchange核心中的触发位置。超时 查

我将非常感谢您在解决我的问题方面给予我的帮助

我使用的是Rabbitmq,有很多生成的队列(名称为amq.gen-pMJVWygd3iLb_buXp1oUyw),它们是持久的,并且永远离开

问题在于,此类队列具有exchange core.timeout,但也存在应处理core.timeout的队列


所以我被困在这一刻,找不到这个队列在哪里

根据您的说明,问题似乎是您让代码中的兔子在连接到exchange时自动创建持久队列

尝试调试类MQ以查看队列创建在exchange
核心中的触发位置。超时

查看更多关于兔子的信息


希望这有帮助。

您能发布一些代码吗?您是如何创建队列的?说实话,我对RabbitMQ不太熟悉,这段代码是在我之前编写的。这就是我们定义队列的示例-
queue=MQ.queue(Logging::Logging\u queue,:durable=>true)
但是还有一个方法@queues[name]=bunny.queue()好的,但是为了能够帮助您,我需要在队列创建中查看一些代码。我认为正在发生的事情是,当连接到exchange或类似的东西时,您让Rabbit在代码中自动创建持久队列。显然,这些队列仍然存在。但是我不能确定我是否看不到代码。代码在那里。您正在创建持久队列。检查该方法队列中的MQ类内部,并尝试在队列上添加名称,如果您想要再次创建相同的队列,则这完全取决于您想要执行的操作。
durable=>true
是为了使队列保持不变,而不是在关闭服务器时消失。这就是导致队列未被删除的原因。“自动生成”实际上是指您没有为队列指定任何名称,而rabbit正在指定一个名称。在进入之前,您应该检查文档()。他们有很好的例子。谢谢,我会试试的。但问题是,这个问题只发生在生产中。出于某种原因,它在本地主机上是正常的。所以调试它有点困难。您可以在本地调试客户端,连接到rabbitmq生产服务器,如果这样有帮助的话。。。