我使用RabbitMQ作爲我的消息代理,我的工作人員是Celery任務。我正在嘗試診斷一個問題,即我將任務排入RabbitMQ,但Celery不會選擇這個問題。如何查看RabbitMQ中的入隊任務?
有沒有一種方法可以檢查RabbitMQ中的哪些任務已入隊?我希望看到它們入隊的日期和時間,指定的任何ETA,參數和任務名稱。
我一直沒能找到的文檔信息 - 也許我忽略了它 - 希望你們當中有些人可能知道一個簡單的方法來檢查任務隊列。謝謝。
我使用RabbitMQ作爲我的消息代理,我的工作人員是Celery任務。我正在嘗試診斷一個問題,即我將任務排入RabbitMQ,但Celery不會選擇這個問題。如何查看RabbitMQ中的入隊任務?
有沒有一種方法可以檢查RabbitMQ中的哪些任務已入隊?我希望看到它們入隊的日期和時間,指定的任何ETA,參數和任務名稱。
我一直沒能找到的文檔信息 - 也許我忽略了它 - 希望你們當中有些人可能知道一個簡單的方法來檢查任務隊列。謝謝。
您可以使用Flower實時監控任務。
https://github.com/mher/flower
退房也rabbitmqclt命令這種檢查的RabbitMQ服務器狀態:
http://www.rabbitmq.com/man/rabbitmqctl.1.man.html
rabbitmqctl list_queues
還有些芹菜任務監視隊列:
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
只要management plugin是enabled,消息的任意數量可以從隊列被消耗和任選重新排隊:
rabbitmqadmin get queue=queue_name requeue=true count=100