Как я могу запустить периодическую задачу сельдерея из оболочки вручную?



Я использую сельдерей и Джанго-сельдерей. Я определил периодическую задачу, которую я хотел бы проверить. Можно ли запустить периодическую задачу из оболочки вручную, чтобы я мог просматривать вывод консоли?

618   2  

2 ответов:

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

предполагая, что задача называется my_task в приложении Django myapp на tasks подмодуля:

$ python manage.py shell
>>> from myapp.tasks import my_task
>>> eager_result = my_task.apply()

экземпляр результата имеет тот же API, что и обычный AsyncResult тип, за исключением того, что результат всегда оценивается охотно и локально и .apply() метод будет блокироваться до тех пор, пока задача не будет выполнена до завершения.

Я думаю, вам нужно будет открыть две оболочки: одну для выполнения задач из оболочки Python/Django, а другую для запуска celery worker (python manage.py celery worker). И как сказано в предыдущем ответе, вы можете запускать задачи с помощью apply() или apply_async()

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

Comments

    Ничего не найдено.