Запустить задачу сельдерея с помощью команды управления django

Я пытаюсь запустить задачу, используя celery 3.1, из пользовательской команды управления.

Если я вызываю мою задачу из представления, она работает нормально, но при запуске той же задачи из моей команды управления, задача будет выполняться синхронно только в текущем контексте (не асинхронно через сельдерей).

У меня не установлено djcelery.

Что мне нужно добавить к моей команде управления, чтобы получить обработку асинхронных задач в командной строке?

1 ответ

Решение

Выполнение задач Celery из утилиты командной строки аналогично выполнению их из представлений. Если у вас есть задача под названием fooтогда в обоих случаях:

  • призвание foo(...) выполняет код задачи так, как будто foo были просто обычная функция Python.

  • призвание foo.delay(...) выполняет код задачи асинхронно, через сотрудника Celery.

Другие вопросы по тегам