Django celery ModuleNotFoundError: Нет модуля с именем 'config'
Я делаю проект docker django с celery, в котором имя проекта для главного контейнера main_config
. main_ms\main_config\celery.py
выглядит как
import os
from celery import Celery
from django.conf import settings
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
includedTasks=[]
CeleryApp = Celery ('main_config', broker=settings.CELERY_BROKER_URL, backend=settings.CELERY_RESULT_BACKEND,include=includedTasks)
CeleryApp.config_from_object('django.conf:settings', namespace='CELERY')
CeleryApp.autodiscover_tasks()
в docker-compose
эти контейнеры выглядят так:
main_django_ser:
container_name: main_django_container
build:
context: ./main_ms
dockerfile: Dockerfile.main
command: sh -c "
celery -A main_config.celery worker --loglevel=info &&
python manage.py runserver 0.0.0.0:8000"
при запуске docker-compose
выдало ошибку ниже:
поэтому я изменил config
на main_config
в строке 4 из main_ms\main_config\celery.py
и на этот раз выдало ошибку:
Я должен сказать, что CELERY_BROKER_URL
и CELERY_RESULT_BACKEND
находятся redis://redis:6380/0
в main_ms\main_config\settings.py