কমান্ড লাইন থেকে রাব্বিটএমকিউ বার্তাগুলি সরাসরি দেখা সম্ভব?
sudo rabbitmqctl list_queues
সারি তালিকাবদ্ধ করে।
কোন আদেশ আছে কি sudo rabbitmqctl list_queue_messages <queue_name>
?
উত্তর:
আপনার পরিচালনা প্লাগইন সক্ষম করা উচিত।
rabbitmq-plugins enable rabbitmq_management
এখানে দেখো:
http://www.rabbitmq.com/plugins.html
এবং পরিচালনার সুনির্দিষ্ট জন্য এখানে।
http://www.rabbitmq.com/management.html
অবশেষে একবার সেট আপ করার পরে আপনাকে খরগোমক্যাডমিন সরঞ্জামটি ইনস্টল করতে এবং ব্যবহার করতে নীচের নির্দেশাবলী অনুসরণ করতে হবে। যা সম্পূর্ণরূপে সিস্টেমের সাথে ইন্টারঅ্যাক্ট করতে ব্যবহার করা যেতে পারে। http://www.rabbitmq.com/management-cli.html
উদাহরণ স্বরূপ:
rabbitmqadmin get queue=<QueueName> requeue=false
কিউ বন্ধ প্রথম বার্তা আপনাকে দেবে।
requeue=false
কিছুটা ফেলে দেওয়া উচিতrabbitmqadmin get queue=<QueueName>
কাতার সামগ্রীগুলি পেতে আমি যে আদেশগুলি ব্যবহার করি তা এখানে:
Https://www.rabbitmq.com/management-cli.html ব্যবহার করে ফেডোরা লিনাক্সে র্যাবিট এমকিউ সংস্করণ 3.1.5
আমার এক্সচেঞ্জগুলি এখানে:
eric@dev ~ $ sudo python rabbitmqadmin list exchanges
+-------+--------------------+---------+-------------+---------+----------+
| vhost | name | type | auto_delete | durable | internal |
+-------+--------------------+---------+-------------+---------+----------+
| / | | direct | False | True | False |
| / | kowalski | topic | False | True | False |
+-------+--------------------+---------+-------------+---------+----------+
এখানে আমার সারি:
eric@dev ~ $ sudo python rabbitmqadmin list queues
+-------+----------+-------------+-----------+---------+------------------------+---------------------+--------+----------+----------------+-------------------------+---------------------+--------+---------+
| vhost | name | auto_delete | consumers | durable | exclusive_consumer_tag | idle_since | memory | messages | messages_ready | messages_unacknowledged | node | policy | status |
+-------+----------+-------------+-----------+---------+------------------------+---------------------+--------+----------+----------------+-------------------------+---------------------+--------+---------+
| / | myqueue | False | 0 | True | | 2014-09-10 13:32:18 | 13760 | 0 | 0 | 0 |rabbit@ip-11-1-52-125| | running |
+-------+----------+-------------+-----------+---------+------------------------+---------------------+--------+----------+----------------+-------------------------+---------------------+--------+---------+
কিছু আইটেম মেকিউয়ে ক্র্যাম করুন:
curl -i -u guest:guest http://localhost:15672/api/exchanges/%2f/kowalski/publish -d '{"properties":{},"routing_key":"abcxyz","payload":"foobar","payload_encoding":"string"}'
HTTP/1.1 200 OK
Server: MochiWeb/1.1 WebMachine/1.10.0 (never breaks eye contact)
Date: Wed, 10 Sep 2014 17:46:59 GMT
content-type: application/json
Content-Length: 15
Cache-Control: no-cache
{"routed":true}
খরগোশ এমকিউ বার্তাগুলিকে কাতারে দেখুন:
eric@dev ~ $ sudo python rabbitmqadmin get queue=myqueue requeue=true count=10
+-------------+----------+---------------+---------------------------------------+---------------+------------------+------------+-------------+
| routing_key | exchange | message_count | payload | payload_bytes | payload_encoding | properties | redelivered |
+-------------+----------+---------------+---------------------------------------+---------------+------------------+------------+-------------+
| abcxyz | kowalski | 10 | foobar | 6 | string | | True |
| abcxyz | kowalski | 9 | {'testdata':'test'} | 19 | string | | True |
| abcxyz | kowalski | 8 | {'mykey':'myvalue'} | 19 | string | | True |
| abcxyz | kowalski | 7 | {'mykey':'myvalue'} | 19 | string | | True |
+-------------+----------+---------------+---------------------------------------+---------------+------------------+------------+-------------+
sudo python rabbitmqadmin get queue=myqueue requeue=true count=10
বার্তা দেখার জন্য বা বার্তাগুলি শেষ থেকে সরিয়ে দেওয়ার এবং তারপরে সামনের দিকে পুনরুদ্ধার করার আদেশ Is বার্তাগুলি সন্ধানের পরিবর্তে কেবল দেখার উপায় আছে কি?
rabbitmqadmin
ওয়েব-ভিত্তিক এপিআই-তে সংযুক্ত হিসাবে , এখানে কি সুডোর প্রয়োজন?
requeue=True
আমি রবিটম্যাক-ডাম্প-কাত লিখেছিলাম যা একটি রবিট এমকিউ সারি থেকে স্থানীয় ফাইলগুলিতে বার্তা ডাম্প করতে এবং বার্তাগুলিকে তাদের মূল ক্রমে অনুরোধ করে allows
ব্যবহারের উদাহরণ (সারির প্রথম 50 টি বার্তা ডাম্প করতে incoming_1
):
rabbitmq-dump-queue -url="amqp://user:password@rabbitmq.example.com:5672/" -queue=incoming_1 -max-messages=50 -output-dir=/tmp
আপনি গণনা বা বার্তাগুলি পেতে RabbitMQ API ব্যবহার করতে পারেন:
/api/queues/vhost/name/get
একটি সারি থেকে বার্তা পান। (এটি কোনও এইচটিপিটি জিইটি নয় কারণ এটি সারিটির স্থিতি পরিবর্তন করে দেবে)) আপনার এমন একটি বডি পোস্ট করা উচিত যা দেখে:
{"count":5,"requeue":true,"encoding":"auto","truncate":50000}
গণনা পেতে বার্তা সর্বাধিক সংখ্যক নিয়ন্ত্রণ করে। এই সারিটি অবিলম্বে সরবরাহ করতে না পারলে আপনি এর চেয়ে কম বার্তা পেতে পারেন।
অনুরোধগুলি সারি থেকে বার্তাগুলি সরানো হবে কিনা তা নির্ধারণ করে। যদি পুনরুদ্ধার সত্য হয় তবে তাদের পুনরুদ্ধার করা হবে - তবে তাদের পুনর্নির্মাণের পতাকাটি সেট করা হবে। এনকোডিংটি অবশ্যই "অটো" হওয়া আবশ্যক (এই ক্ষেত্রে পে-লোডটি স্ট্রিং হিসাবে ফিরে আসবে যদি এটি বৈধ ইউটিএফ -8, এবং বেস64 এনকোডেড অন্যথায় হয়), বা "বেস 64" (এই ক্ষেত্রে পে-লোড সর্বদা বেস64 এনকোডড থাকবে)। যদি সংক্ষিপ্ত আকার উপস্থিত থাকে তবে প্রদত্ত আকারের (বাইটে) মাপের চেয়ে বড় হলে বার্তা পে-লোডটি কেটে যাবে। কাটা কাটা alচ্ছিক; অন্যান্য সমস্ত কী বাধ্যতামূলক।
দয়া করে নোট করুন যে HTTP এপিআই-এ প্রকাশিত / পাথ পাথগুলি পরীক্ষার বার্তা, ডায়াগনস্টিকস ইত্যাদি ইনজেকশনের উদ্দেশ্যে করা হয়েছে - এগুলি নির্ভরযোগ্য বিতরণ কার্যকর করে না এবং মেসেজিংয়ের জন্য একটি সাধারণ এপিআইয়ের পরিবর্তে সিসাদমিনের সরঞ্জাম হিসাবে বিবেচনা করা উচিত।
http://hg.rabbitmq.com/rabbitmq-management/raw-file/rabbitmq_v3_1_3/priv/www/api/index.html
এটি থেকে কিছুটা দেরীতে, তবে হ্যাঁ খরগোশটির ট্রেসার ইন বিল্ড রয়েছে যা আপনাকে লগের মধ্যে অন্তর্নিহিত বার্তাগুলি দেখতে দেয়। সক্ষম করা থাকলে, আপনি tail -f /var/tmp/rabbitmq-tracing/.log
বার্তাটি দেখতে (ম্যাকের উপর) করতে পারেন ।
বিস্তারিত বৈষম্য এখানে http://www.mikeobrien.net/blog/tracing-rabbitmq- ম্যাসেজ
আপনি যদি একটি সারি থেকে একাধিক বার্তা চান তবে 10 টি বার্তা বলুন, ব্যবহারের আদেশটি হ'ল:
rabbitmqadmin get queue=<QueueName> ackmode=ack_requeue_true count=10
আপনি যদি বার্তাগুলি প্রয়োজনীয় না চান তবে কেবল এতে পরিবর্তন ackmode
করুন ack_requeue_false
।
ackmode=ack_requeue_true
, requeue
অন্যান্য উত্তরে উল্লিখিত মতো আর কোনও বিকল্প নেই