В разработке, это немного хлопот, чтобы запустить 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