36
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
26
I got this error because rabbitmq
was not started. If you installed rabbitmq
via brew you can start it using brew services start rabbitmq
- [Django]-"{% extends %}" and "{% include %}" in Django Templates
- [Django]-Get Timezone from City in Python/Django
- [Django]-Use get_queryset() method or set queryset variable?
16
you can add these lines to your settings.py :
CELERY_BROKER_URL = 'redis://localhost:6379'
CELERY_RESULT_BACKEND = 'redis://localhost:6379'
and run :
celery -A yourProjectName worker -l info
- [Django]-Is it bad to have my virtualenv directory inside my git repository?
- [Django]-Is there a function for generating settings.SECRET_KEY in django?
- [Django]-Django South β table already exists
4
If you are workling on a production environment,
You have to first install and setup a rabbitmq server. You can refer rabbitmq website for installation steps.
In settings you have to write this lines:
CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend',
BROKER_URL = 'amqp://guest:guest@localhost:5672//'
After all setup of rabitmq server you have to run this two command,
export C_FORCE_ROOT='true'
celery -A transcoder(name of app) worker --loglevel=info
- [Django]-Django check if object in ManyToMany field
- [Django]-What is the SQL ''LIKE" equivalent on Django ORM queries?
- [Django]-Elegant setup of Python logging in Django
0
This error means celery backend settings is not proper so it is not able to connect to backend.
If you just started tutorial celery with django . You can try below settings.
CELERY_BROKER_URL = 'amqp://guest:guest@localhost:5672//'
CELERY_RESULT_BACKEND = 'db+sqlite:///results.db'
- [Django]-Composite primary key in django
- [Django]-TypeError: data.forEach is not a function
- [Django]-How do I filter ForeignKey choices in a Django ModelForm?
0
While you are installing Celery via pip you should select the version that you want to work with such as redis, rabbitmq, django etc.
As referred in docs: https://pypi.org/project/celery/
Bundles
Celery also defines a group of bundles that can be used to install Celery and the dependencies for a given feature.You can specify these in your requirements or on the pip command-line by using brackets. Multiple bundles can be specified by separating them by commas.
Example:
$ pip install "celery[librabbitmq]"
$ pip install "celery[librabbitmq,redis,auth,msgpack]"
- [Django]-Location of Django logs and errors
- [Django]-Pypi see older versions of package
- [Django]-Is it better to use path() or url() in urls.py for django 2.0?
-1
If all above solutions are not working, you can try with this:
turn off your network connection (wifi or wire)
.
Itβs so weird but sometime itβs work for me!
Seem it relates to the local network device instead of RabbitMQ service.
My screen recording: https://drive.google.com/file/d/13t35Lzh3JLsCbGjRag0uiDhcYz1JuHq7/view?usp=sharing
- [Django]-Django-Bower + Foundation 5 + SASS, How to configure?
- [Django]-Cannot access django app through ip address while accessing it through localhost
- [Django]-Django: Get model from string?
- [Django]-Select between two dates with Django
- [Django]-Django models: default value for column
- [Django]-Specifying a mySQL ENUM in a Django model