如何使用 NodeJs (amqplib) 获取 RabbitMQ 队列的未确认消息计数

时间:2021-04-26 10:36:34

标签: node.js rabbitmq node-amqplib

如何使用 NodeJs (amqplib) 获取 RabbitMQ 队列的未确认消息计数。

我们可以使用 checkQueueassertQueue 方法轻松获取队列的总消息数。

我有很多动态队列,这些队列被多个消费者消费,我想在处理完所有作业后删除队列。

问题是当消费者附加到队列时,我检查消息计数是否为零,如果消息计数为零,则我删除队列,但当时如果该队列有一些未确认的消息,但消息计数为零,那么我该如何处理。

1 个答案:

答案 0 :(得分:0)

在这种情况下,您可以将 auto-delete flag 设置为在创建时排队并在使用时检查队列大小。

当队列大小为 0 时,您只需停止此消费者的消费进程并关闭此消费者的通道。当所有消费者关闭他们的通道队列时,RabbitMQ 将自动删除。