2014-06-25 12 views

Trả lời

15

Cuối cùng tôi đã làm các trick như sau:

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

Bất cứ điều gì mà trông như 'sed | grep | sed' có lẽ nên được tái cấu trúc. Tôi sẽ đi cho 'curl ... | sed -n 's /.* "messages:" * \ ([^] * \). */\ 1/p'' nhưng YMMV. Nếu đầu ra là JSON đúng, '... | jq -r .messages' đơn giản và dễ đọc hơn. (Không phải ở nơi tôi có thể kiểm tra.) – tripleee

+2

Ngoài ra, tùy chọn 'curl -i' dường như khá vô dụng nếu bạn đang vứt bỏ tiêu đề. Tôi đã bị vấp phải bởi việc trả lại mã phần trăm cho tham số vhost; 'curl -s -u khách: khách http: // localhost: 55672/api/queues /% 2F/queuename | grep -o '"messages": [0-9] *' 'hoạt động cho tôi. – tripleee

0

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

RabbitMQ thư viện v3.3.4 PHP dựa trên HTTP api.

REQRequest

4

Như nhiều như tôi yêu hacky sed một lớp lót này có lẽ là giải pháp sạch:

curl -s -u <user>:<password> http://<host>:<port>/api/queues/<virtual-host>/<queue> | jq .messages 
Các vấn đề liên quan