web-dev-qa-db-fra.com

Django Céleri - Impossible de se connecter à amqp: //[email protected]: 5672 //

J'essaie de configurer Django-Celery. Je passe par le tutoriel

http://docs.celryproject.org/en/latest/Django/first-steps-with-Django.html

lorsque j'exécute $ python manage.py celery worker --loglevel = info

Je reçois

[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...

quelqu'un at-il déjà rencontré ce problème?

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()
31
IdeoREX

Le problème est que vous essayez de vous connecter à une instance locale de RabbitMQ. Regardez cette ligne dans votre settings.py

BROKER_URL = 'amqp: // guest: guest @ localhost: 5672 /'

Si vous travaillez actuellement sur le développement, vous pouvez éviter de configurer Rabbit et tout le désordre autour de lui, et simplement utiliser une version de développement d'une file d'attente de messages avec la base de données Django.

Pour ce faire, remplacez votre configuration précédente par

BROKER_URL = 'Django: //' et ajoutez cette application:

INSTALLED_APPS + = ('kombu.transport.Django',)

Enfin, lancez le travailleur avec

./manage.py céleri ouvrier --loglevel = info

Source: http://docs.celryproject.org/en/latest/getting-started/brokers/Django.html

24
geekazoid

J'ai eu cette erreur car rabbitmq n'a pas été démarré. Si vous avez installé rabbitmq via brew, vous pouvez le démarrer à l'aide de brew services start rabbitmq

15
xiaolin

Si vous travaillez sur un environnement de production,

Vous devez d'abord installer et configurer un serveur rabbitmq. Vous pouvez consulter le site Web de rabbitmq pour les étapes d'installation.

Dans les paramètres, vous devez écrire ces lignes:

CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend',
BROKER_URL = 'amqp://guest:guest@localhost:5672//'

Après toute configuration du serveur rabitmq, vous devez exécuter ces deux commandes,

export C_FORCE_ROOT='true'
celery -A transcoder(name of app) worker --loglevel=info
3
jatin