我有一个有一些错误的应用程序。出于某种原因,当只有一个消费者应该存在时,会创建 2 个消费者 - 并且不再检查其中一个消费者的消息。
我可以通过列出队列和服务器上的消费者数量来检测这种情况。有什么方法可以从服务器端销毁该消费者吗?
可以rabbitmqctl
使用close_connection输入杀死消费者connectionpid
例子
> rabbitmqctl close_connection "<rabbit@hardys-Mac-mini.1.4195.0>" "reason here"
connectionpid 可以通过
> rabbitmqctl list_consumers
Listing consumers ...
send_email_1 <rabbit@hardys-Mac-mini.1.4185.0> amq.ctag-oim8CCP2hsioWc-3WwS-qQ true 1 []
send_email_2 <rabbit@hardys-Mac-mini.1.4195.0> amq.ctag-WxpxDglqZQN2FNShN4g7QA true 1 []
兔MQ 3.5.4
您需要将您的消费者标记为“独家”。然后只有一个消费者注册到队列,而其他消费者即使尝试从该队列获取数据也会被忽略。