2017-08-28 5 views
1

私はDjango + Celery + RabbitMQを実行しています。いくつかのタスク名を変更した後、私はDjango Celery BeatのPeriodicタスクテーブルからこのキーを使ってタスクを削除し、Celeryワーカーを再起動した後でも、 "未登録タスク" KeyErrorsを取得し始めました。Celery/RabbitMQタスクを個別に確認して削除できますか?

Celery/RabbitMQ tasks are persistentが判明しました。私は最終的に問題をreimplementing the legacy tasks as dummy methodsで解決しました。

将来、キューをパージしないで、ワーカーを再起動したり、レガシーメソッドを再実装したりしたくないです。その代わりに、キューを調べて、従来のタスクを個別に削除したいと思っています。これは可能ですか?

celery -A proj control invoke process_id 

参照するに

celery -A proj inspect active_queues 

は処理を終了する(好ましくはDjangoの管理インタフェースのコンテキストで)

+0

関連するが、タスクの削除に対処しないhttps://stackoverflow.com/questions/13049829/how-can-i-view-the-enqueued-tasks-in-rabbitmq – d3vid

+0

参照http://docs.celeryproject.org /en/latest/userguide/monitoring.html – d3vid

+0

花のプラグインが検査に役立つでしょう –

答えて

0

セロリinspect

がアクティブキューを表示するのに役立ち得ますすべての利用可能な検査オプション:

celery inspect --help 
関連する問題