Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

874
Views
¿Cómo configurar Django + RabbitMQ + Celery con Docker?

Estoy tratando de configurar mi aplicación Django para que tenga la funcionalidad de notificación automática. Para programar notificaciones, estoy tratando de usar Celery, para el agente de mensajes elegí RabbitMQ. Mi aplicación se ejecuta en contenedores Docker y estoy luchando para que RabbitMQ funcione. Recibo un mensaje de error Cannot connect to amqp://guest:**@127.0.0.1:5672//: [Errno 111] Connection refused. al ejecutar docker-compose up . Aquí están mis servicios de celery y rabbitmq3 de mi docker-compose.yml :

 celery: restart: always build: context: . command: celery -A test_celery worker -l info volumes: - .:/test_celery env_file: - ./.env depends_on: - app - rabbitmq3 rabbitmq3: container_name: "rabbitmq" image: rabbitmq:3-management-alpine ports: - 5672:5672 - 15672:15672

En mi test_celery -app tengo un archivo llamado celery.py que contiene lo siguiente:

 import os from celery import Celery os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'test_celery.settings') app = Celery('test_celery') app.config_from_object('django.conf:settings', namespace='CELERY') app.autodiscover_tasks()

Y finalmente, en mi settings.py tengo esto: CELERY_BROKER_URL = 'amqp://localhost' .

¿Debo definir CELERY_BROKER_URL alguna manera diferente? ¿Hay algún problema con mi archivo docker-compose? Agradecería cualquier ayuda con esto, ¿qué pasa con mi configuración?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Esto debería funcionar

 CELERY_BROKER_URL=amqp://guest:guest@rabbitmq3:5672/

si tienes un vhost en conejo

 CELERY_BROKER_URL=amqp://guest:guest@rabbitmq3:5672/vhost

si no funciona revisa la consola del contenedor del conejo en busca de pistas

over 4 years ago · Santiago Trujillo Report

0

En settings.py definir:

 RABBITMQ = { "PROTOCOL": "amqp", # in prod change with "amqps" "HOST": os.getenv("RABBITMQ_HOST", "localhost"), "PORT": os.getenv("RABBITMQ_PORT", 5672), "USER": os.getenv("RABBITMQ_USER", "guest"), "PASSWORD": os.getenv("RABBITMQ_PASSWORD", "guest"), } CELERY_BROKER_URL = f"{RABBITMQ['PROTOCOL']}://{RABBITMQ['USER']}:{RABBITMQ['PASSWORD']}@{RABBITMQ['HOST']}:{RABBITMQ['PORT']}"
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!