Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django Celery - Cannot connect to amqp://[email protected]:5672//

I'm trying to set up Django-Celery. I'm going through the tutorial

http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html

when I run $ python manage.py celery worker --loglevel=info

I get

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

has anyone encountered this issue before?

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() 
like image 867
IdeoREX Avatar asked Aug 08 '13 18:08

IdeoREX


Video Answer


2 Answers

Update Jan 2022: This answer is outdated. As suggested in comments, please refer to this link

The problem is that you are trying to connect to a local instance of RabbitMQ. Look at this line in your settings.py

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

If you are working currently on development, you could avoid setting up Rabbit and all the mess around it, and just use a development version of a message queue with the Django database.

Do this by replacing your previous configuration with:

BROKER_URL = 'django://' 

...and add this app:

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

Finally, launch the worker with:

./manage.py celery worker --loglevel=info 

Source: http://docs.celeryproject.org/en/latest/getting-started/brokers/django.html

like image 155
finiteautomata Avatar answered Sep 21 '22 21:09

finiteautomata


I got this error because rabbitmq was not started. If you installed rabbitmq via brew you can start it using brew services start rabbitmq

like image 21
xiao Avatar answered Sep 18 '22 21:09

xiao