Как запустить Celery через Docker

Пишу сайт на Django, появилась потребность в асинхронных задачах, взялся за Celery. На локальном сервере всё работает корректно, но столкнулся с проблемой при переносе.

При запуске worker'а на боевом сервере через Докер выскакивает ошибка: celery -A crm_transfer wokrer -l info

Usage: celery [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for '-A' / '--app':
Unable to load celery application.
The module crm_transfer was not found.

Вот код:

docker-compose.yml

celery:
  build:
    context: .
    dockerfile: Dockerfile

  command: celery -A crm_transfer worker -l info
  depends_on:
    - redis

celery.py

import os
from celery import Celery
from celery.schedules import crontab


os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'crm_transfer.settings')

app = Celery('crm_transfer')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()

init.py

from .celery import app as celery_app

__all__ = ('celery_app', )

settings.py

REDIS_HOST = '0.0.0.0'
REDIS_PORT = '6379'
CELERY_BROKER_URL = 'redis://' + REDIS_HOST + ':' + REDIS_PORT + '/0'
CELERY_RESULT_BACKEND = 'redis://' + REDIS_HOST + ':' + REDIS_PORT + '/0'

Структура:

crm_transfer:
    -crm_transfer:
        -init.py
        -setting.py
        -celery.py
    -api:
        -tasks.py

Не понимаю, почему не находит воркер, ведь и в нужной директории нахожусь, и код, вроде, правильный... За сегодня уже весь гугл перелазил - ничего( Буду очень благодарен за помощь)

celery==5.1.0

Вернуться на верх