2014-06-25 18 views

cevap

15

Sonunda aşağıdaki hile yaptı. Ben bu muhtemelen en temiz çözüm hacky sed bir gömlekler aşk kadar

REQRequest

+0

şey 'sed benziyor | grep | sed 'muhtemelen refactored olmalıdır. Ben curl için giderdim ... | sed -n '/.* "iletileri:" * \ ([^] * \). */\ 1/p' değil YMMV. Çıktı uygun JSON ise, ... | jq -r .messages' daha basit ve okunabilir. (Test edebildiğim bir yerde değil.) – tripleee

+2

Ayrıca "curl -i" seçeneği, başlıkları bir kenara atıyor olsanız da oldukça işe yaramıyor. Vhost parametresini yüzde kodlamak için requrement tarafından tetiklendim; curl -s -u konuk: misafir http: // localhost: 55672/api/kuyruk /% 2F/queuename | grep -o "mesajları": [0-9] * ''benim için çalışıyor. – tripleee

5

kullanın HTTP API ederiz.

/api/queues/(vhost)/(name) one'a ihtiyacınız var. Çıkış düz jsonda, yani messages alanını (ve ilgili) kaçırmayacaksınız.

Not: Burada, istatistik verileriyle ilgili bazı ayrıntılar vardır - http://hg.rabbitmq.com/rabbitmq-management/raw-file/86f7d33a6284/priv/www/doc/stats.html, çünkü belgelerdeki bağlantı bozuk. HTTP API dayalı

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

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

RabbitMQ v3.3.4 PHP kütüphanesi:

4

:

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