Служба сельдерея игнорирует URL брокера - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь использовать Celery в своем приложении django с redis в качестве брокера.

В моем файле настроек я установил CELERY_BROKER_URL='redis://redis:6379' и CELERY_RESULT_BACKEND='redis://redis:6379' И мой docker-compose файл выглядит так

web: 
    build: 
      context: ./web/
      dockerfile: Dockerfile
    image: &web web
    env_file:
      - .env
    command: "gunicorn web.wsgi:application -w 2 -b :4000"
    volumes:
      - ./web/:/web
    expose:
      - "4000"
    depends_on:
      - db
      - redis
      - worker
      - beat

db:
    build:
      context: ./database/
      dockerfile: Dockerfile
    volumes:
      - data:/var/lib/postgresql/data
    env_file:
      - .env
    expose:
      - "5432"

redis:
    build:
      context: ./cache/
      dockerfile: Dockerfile
    expose:
      - "6379"

worker:
    build:
      context: ./web/
      dockerfile: Dockerfile
    image: *web
    command: "celery -A web worker -l debug"
    ports: []
    depends_on:
      - redis
      - db

beat:
    build:
      context: ./web/
      dockerfile: Dockerfile
    image: *web
    command: "celery -A web beat -l info"
    ports: []
    depends_on:
      - redis
      - db

Когда я запускаю docker-compose up, служба beat запускается нормально, но worker завершается неудачно с ошибкой

потребитель: Невозможно подключиться к amqp: // guest: **@ 127.0.0.1: 5672 //: [Errno 111] Соединение отклонено

Каким-то образом служба worker пытается использовать rabbitmq в качестве посредника

Пожалуйста, кто-нибудь поможет сбросить некоторыеподсвечивает то, что я делаю не так здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...