Как проверить статус задачи в Celery?

Как проверить, запущена ли задача в celery (в частности, я использую celery-django)?

Я читал документацию и гуглил, но не могу найти вызов вроде:

my_example_task.state() == RUNNING

Мой случай использования заключается в том, что у меня есть внешний (java) сервис для транскодирования. Когда я отправляю документ на транскодирование, я хочу проверить, запущена ли задача, которая запускает эту службу, и если нет, то (повторно) запустить ее.

Я использую текущие стабильные версии - 2.4, я полагаю.

85
задан Marcin 27 January 2012 в 13:49
поделиться

1 ответ

  • FirstпјЊin Ваш сельдерей APPпјљ

vi my_celery_apps/app1.py

app = Celery(worker_name)
  • и затем, измените на задачу fileпјЊimport приложение от своего модуля приложения сельдерея.

vi tasks/task1.py

from my_celery_apps.app1 import app

app.AsyncResult(taskid)

try:
   if task.state.lower() != "success":
        return
except:
    """ do something """

0
ответ дан 24 November 2019 в 08:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: