python - run - Django Celery-No se puede conectar a amqp://[email protected]: 5672//
django-celery-results (4)
Estoy tratando de configurar Django-Celery. Estoy pasando por el tutorial
http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html
cuando ejecuto $ python manage.py celery worker --loglevel = info
yo obtengo
[Tasks]
/Users/msmith/Documents/dj/venv/lib/python2.7/site-packages/djcelery/loaders.py:133: UserWarning: Using settings.DEBUG leads to a memory leak, never use this setting in production environments!
warnings.warn(''Using settings.DEBUG leads to a memory leak, never ''
[2013-08-08 11:15:25,368: WARNING/MainProcess] /Users/msmith/Documents/dj/venv/lib/python2.7/site-packages/djcelery/loaders.py:133: UserWarning: Using settings.DEBUG leads to a memory leak, never use this setting in production environments!
warnings.warn(''Using settings.DEBUG leads to a memory leak, never ''
[2013-08-08 11:15:25,369: WARNING/MainProcess] celery@sfo-mpmgr ready.
[2013-08-08 11:15:25,382: ERROR/MainProcess] consumer: Cannot connect to amqp://[email protected]:5672/celeryvhost: [Errno 61] Connection refused.
Trying again in 2.00 seconds...
¿Alguien ha encontrado este problema antes?
settings.py
# Django settings for summertime project.
import djcelery
djcelery.setup_loader()
BROKER_URL = ''amqp://guest:guest@localhost:5672/''
...
INSTALLED_APPS = {
...
''djcelery'',
''celerytest''
}
wsgi.py
import djcelery
djcelery.setup_loader()
El problema es que está intentando conectarse a una instancia local de RabbitMQ. Mira esta línea en tu settings.py
BROKER_URL = ''amqp: // guest: guest @ localhost: 5672 /''
Si está trabajando actualmente en desarrollo, podría evitar configurar Rabbit y todo el desorden que lo rodea, y simplemente usar una versión de desarrollo de Message Queue con la base de datos Django.
Haga esto reemplazando su configuración anterior con
BROKER_URL = ''django: //'' y agrega esta aplicación:
INSTALLED_APPS + = (''kombu.transport.django'',)
Finalmente, lanza al trabajador con
./manage.py celery worker --loglevel = info
Fuente: http://docs.celeryproject.org/en/latest/getting-started/brokers/django.html
Recibí este error porque no se inició rabbitmq
. Si instaló rabbitmq
través de brew, puede iniciarlo usando brew services start rabbitmq
Si está trabajando en un entorno de producción,
Primero debes instalar y configurar un servidor rabbitmq. Puede consultar el sitio web de rabbitmq para los pasos de instalación.
En la configuración tienes que escribir estas líneas:
CELERY_RESULT_BACKEND=''djcelery.backends.database:DatabaseBackend'',
BROKER_URL = ''amqp://guest:guest@localhost:5672//''
Después de toda la configuración del servidor rabitmq, debe ejecutar este comando dos,
export C_FORCE_ROOT=''true''
celery -A transcoder(name of app) worker --loglevel=info
Tuve el mismo problema y la razón fue que olvidé agregar elementos de apio (CELERY_RESULT_BACKEND, BROKER_URL, ...)
Después de agregar estos, problema resuelto!