Определить, доступен ли сельдерей
я используюСельдерей управлять асинхронными задачами. Однако иногда процесс сельдерея останавливается, что не приводит к выполнению ни одной из задач. Я хотел бы иметь возможность проверить состояние сельдерея и убедиться, что все работает нормально, и если я обнаружу какие-либо проблемы, отобразить сообщение об ошибке для пользователя. Из документации Celery Worker выглядит, что я мог бы использоватьпинг или жеосмотреть для этого, но ping кажется хакерским, и не совсем понятно, как именно используется inspect (если inspect (). register () пусто?).
Любое руководство по этому вопросу будет оценено. По сути, я ищу такой метод:
def celery_is_alive():
from celery.task.control import inspect
return bool(inspect().registered()) # is this right??
РЕДАКТИРОВАТЬ: Это даже не выглядит, как зарегистрированный () доступен на сельдерее 2.3.3 (хотя список документации 2.1). Может быть, пинг это правильный ответ.
РЕДАКТИРОВАТЬ: Пинг также, кажется, не делает то, что я думал, что будет делать, так что до сих пор не уверен, что ответ здесь.