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