Как загрузить настройки django для приложения celery
Вот мое дерево (скрывающее все ненужные вещи):
src/
├─ api/
│ ├─ app1/
│ │ ├─ tasks.py
│ │ ├─ models.py
│ ├─ celeryworker/
│ │ ├─ celery.py
│ ├─ settings.py
│ ├─ urls.py
├─ manage.py
├─ setup.py
И вот мой celery.py
from __future__ import absolute_import
from celery import Celery
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'api.settings')
app = Celery('portal')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
когда я пытаюсь запустить это приложение:
cd src/api
celery -A celeryworker worker --loglevel=INFO
Я получаю:
ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@127.0.0.1:5672//: [Errno 111] Connection refused.
Более того, печать print(app.conf)
, похоже, не устанавливает никаких настроек CELERY_, которые я указал в src/api/settings.py
.
Как я могу заставить мой celery worker правильно читать настройки Django?