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