Подтвердить что ты не робот

Curl для получения размера очереди Rabbitmq

Есть ли способ получить размер (оставшиеся сообщения) очереди в rabbitmq с помощью простого Curl?

Что-то вроде curl -xget http://host:1234/api/queue/test/stats

спасибо

4b9b3361

Ответ 1

Наконец я сделал трюк со следующим:

curl -s -i -u guest:guest http://host:port/api/queues/vhost/queue_name | sed 's/,/\n/g' | grep '"messages"' | sed 's/"messages"://g'

Ответ 2

Используйте HTTP API из плагина управления.

Похоже, вы можете извлечь выгоду из /api/queues/(vhost)/(name). Вывод в формате простого json, поэтому вы не пропустите поле messages (и связанных с ним).

Ответ 3

Насколько мне нравится hacky sed one-liners, это, пожалуй, самое чистое решение:

curl -s -u <user>:<password> http://<host>:<port>/api/queues/<virtual-host>/<queue> | jq .messages

Ответ 4

curl -u login:password http://localhost:15672/api/queues | sed 's/,/\n/g' | grep '"messages"\:'

Rabbitmq v3.3.4 PHP-библиотека на основе HTTP api.

REQRequest

Ответ 5

Я ценю это старый пост, и в этом вопросе конкретно говорится с использованием "curl", но я подумал, что было бы полезно добавить, что команда "rabbitmqctl list_queues" предоставляет счетчик сообщений для каждой очереди