9

メッセージブローカーとしてRabbitMQを使用しており、ワーカーはCeleryタスクです。タスクをRabbitMQのキューに入れているが、Celeryがそれを拾わないという問題を診断しようとしています。

RabbitMQ でキューに入れられているタスクを確認する方法はありますか? それらがキューに入れられた日時、指定された ETA、引数、およびタスク名を確認したいと思います。

ドキュメントでこの情報を見つけることができませんでした — 見落としたのかもしれません — そして、タスク キューを検査する簡単な方法を知っている人がいると期待していました。ありがとう。

4

4 に答える 4

11

Flower を使用して、タスクをリアルタイムで監視できます。

https://github.com/mher/flower

RabbitMQ サーバーのステータスを検査するrabbitmqcltコマンドも確認してください。

http://www.rabbitmq.com/man/rabbitmqctl.1.man.html

rabbitmqctl list_queues
于 2012-10-24T13:38:58.243 に答える
6

また、キューを監視するいくつかのセロリ タスク:

http://docs.celeryproject.org/en/latest/userguide/monitoring.html

次のコマンドを確認してください。

#shows status of all worker nodes
celery status
#List active tasks
celery inspect active
#Show worker statistics (call counts etc.)
celery inspect stats      
于 2012-10-24T14:11:29.437 に答える
0

管理プラグイン有効になっている限り、任意の数のメッセージをキューから消費し、必要に応じて再度キューに入れることができます。

rabbitmqadmin get queue=queue_name requeue=true count=100
于 2016-05-03T15:23:53.733 に答える