Задача Django + Celery так и не выполнена
Я пытаюсь запустить пример приложения Django+Celery из официального репозитория celery:
.
https://github.com/celery/celery/tree/master/examples/django
.
Я клонировал репозиторий, запустил RabbitMQ в моем docker контейнере:
docker run -d --hostname localhost -p 15672:15672 --name rabbit-test rabbitmq:3
Работа с сельдереем выглядит следующим образом:
celery -A proj worker -l INFO
Когда я пытаюсь выполнить задание:
python ./manage.py shell
>>> from demoapp.tasks import add, mul, xsum
>>> res = add.delay(2,3)
>>> res.ready()
False
Я всегда получаю res.ready()
это False
. Выходной сигнал от рабочего уведомляет, что задание получено:
[2022-12-14 14:43:20,283: INFO/MainProcess] Task demoapp.tasks.add[29743cee-744b-4fa6-ba68-36d17e4ac806] received
но это никогда не делается.
Что может быть не так? Как поймать проблему?
Решением является запуск рабочего с помощью опции --pool
. Например, так:
celery -A proj worker -l INFO --pool solo