Celeryを使用して非同期タスクを管理しています。ただし、場合によっては、セロリ プロセスがダウンして、タスクがまったく実行されないことがあります。セロリのステータスをチェックして、すべてが正常に機能していることを確認し、問題が検出された場合はユーザーにエラー メッセージを表示できるようにしたいと考えています。Celery Workerのドキュメントから、これにはpingまたはinspectを使用できるように見えますが、pingはハッキリしていて、inspectの使用方法が正確にはわかりません(inspect()。registered()が空の場合)。
これに関するガイダンスをいただければ幸いです。基本的に私が探しているのは、次のような方法です。
def celery_is_alive():
from celery.task.control import inspect
return bool(inspect().registered()) # is this right??
EDIT:セロリ2.3.3でregistered()が利用できるようには見えません(2.1のドキュメントにはリストされていますが)。おそらくpingが正しい答えです。
編集:Pingも、私が思っていたことをしていないように見えるので、ここでの答えはまだわかりません.