Кто-либо знает, существует ли способ проверить количество сообщений в очереди RabbitMQ от клиентского приложения?
Я пользуюсь клиентской библиотекой.NET.
Вы действительно можете получить его через клиент. При выполнении операции queue_declare
RabbitMQ возвращает три кортежа, содержащие (<имя очереди>, <счет сообщений>, <счет потребителей>)
. Аргумент passive
в queue_declare позволяет вам проверить, существует ли очередь, не изменяя состояние сервера. Таким образом, вы можете использовать queue_declare
с опцией passive
для проверки длины очереди. Не уверен насчет .NET, но в Python это выглядит примерно так:
name, jobs, consumers = chan.queue_declare(queue=queuename, passive=True)