В разработке, это немного хлопот, чтобы запустить celeryd
, а также сервер разработки Django. Можно ли, например, попросить celery
выполнять задачи синхронно во время разработки? Или что-то подобное?
Разработка с Django + Celery без запуска `celeryd`?
Ответ 1
Да, вы можете сделать это, установив CELERY_ALWAYS_EAGER = True
в свои настройки.
http://docs.celeryproject.org/en/latest/configuration.html#task-execution-settings
Ответ 2
Там также пользовательский тест-драйв Django в django-celery, который помогает с CELERY_ALWAYS_EAGER. Узнайте больше об использовании Celery с Django в .
Ответ 3
В версии 4.0
параметра Сельдерей CELERY_ALWAYS_EAGER
была заменена на CELERY_TASK_ALWAYS_EAGER
в Django settings.py
или task_always_eager
изначально в celery conf
.
Так как многочисленные изменения в конфигурации сельдерея от версии 3.x до 4.x распространяются по многим линиям, я предлагаю использовать инструмент настройки встроенных настроек.
celery upgrade settings --django
Источник:
К счастью, вам не нужно вручную изменять файлы, так как сельдерей настройки обновления - программа django должна поступать правильно.
http://docs.celeryproject.org/en/latest/whatsnew-4.0.html#step-4-upgrade-to-celery-4-0