rabbitmq 返回 [Errno 111] 连接到芹菜时连接被拒绝

rabbitmq returns [Errno 111] Connection refused when connecting to celery

提问人:roeygol 提问时间:11/1/2023 最后编辑:roeygol 更新时间:11/1/2023 访问量:26

问:

在我的应用程序中,我有 rabbitmq 作为消息代理和芹菜来管理 BE 中的任务。

尝试运行任何芹菜@shared_task出现此错误时:

kombu.exceptions.OperationalError:[Errno 111] 连接被拒绝

这是我的docker-compose.yml文件:

version: "3.9"

services:
  app:
    build:
      context: .
      args:
        - DEV=${IS_DEV}
    restart: always
    ports:
      - "${APP_PORT}:8000"
    volumes:
      - "./src:/app/src"
      - "./scripts:/app/scripts"
      - "./Makefile:/app/Makefile"
      - "./pyproject.toml:/app/pyproject.toml"
      - "./Dockerfile:/app/Dockerfile"
    depends_on:
      - postgres-main
      - celery
    command: >
      sh -c ". /app/venv/firewall_optimization_backend/bin/activate &&
            python3 /app/src/manage.py migrate &&
            python3 /app/src/manage.py runserver 0.0.0.0:8000"
    environment:
      - DB_HOST=${DB_HOST}
      - DB_NAME=${DB_NAME}
      - DB_USER=${DB_USER}
      - DB_PASS=${DB_PASS}
      - IS_DEV=${IS_DEV}
      - DJANGO_SECRET_KEY=${DJANGO_SECRET_KEY}
      - DEFAULT_LOOKUP_CONFIG_FILE=${DEFAULT_LOOKUP_CONFIG_FILE}

  postgres-main:
    image: postgres:15-alpine3.18
    restart: always
    volumes:
      - postgres-main-db-data:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=${POSTGRES_DB}
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}

  rabbitmq:
    image: "rabbitmq:management"
    ports:
      - "${RABBIT_MQ_MANAGEMENT_PORT}:15672"
      - "${RABBIT_MQ_PORT}:5672"

  celery:
    build: .
    command: >
      sh -c ". /app/venv/firewall_optimization_backend/bin/activate &&
            celery -A src.celery_config worker --loglevel=info"
    volumes:
      - "./src:/app/src"
      - "./scripts:/app/scripts"
      - "./Makefile:/app/Makefile"
      - "./pyproject.toml:/app/pyproject.toml"
    depends_on:
      - rabbitmq
    environment:
      - DB_HOST=${DB_HOST}
      - DB_NAME=${DB_NAME}
      - DB_USER=${DB_USER}
      - DB_PASS=${DB_PASS}
      - IS_DEV=${IS_DEV}
      - DJANGO_SECRET_KEY=${DJANGO_SECRET_KEY}
      - CELERY_BROKER_URL=amqp://guest:guest@rabbitmq:5672//
volumes:
  postgres-main-db-data:
django docker-compose rabbitmq 芹菜 messagebroker

评论


答: 暂无答案