Django Celery - не удается подключиться к amqp://[email protected]: 5672//
Я пытаюсь настроить Django-Celery. Я прохожу через учебник
http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html
когда я запускаю $ python manage.py celery worker --loglevel = info
Я получаю
[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] [email protected] 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...
Кто-нибудь столкнулся с этой проблемой раньше?
settings.py
# Django settings for summertime project.
import djcelery
djcelery.setup_loader()
BROKER_URL = 'amqp://guest:[email protected]:5672/'
...
INSTALLED_APPS = {
...
'djcelery',
'celerytest'
}
wsgi.py
import djcelery
djcelery.setup_loader()
Ответы
Ответ 1
Проблема в том, что вы пытаетесь подключиться к локальному экземпляру RabbitMQ. Посмотрите на эту строку в settings.py
BROKER_URL = 'amqp://guest: guest @localhost: 5672/'
Если вы работаете в настоящее время над разработкой, вы можете не настраивать Rabbit и все беспорядок вокруг него, а просто использовать версию-версию очереди сообщений с помощью базы данных Django.
Сделайте это, заменив предыдущую конфигурацию на
BROKER_URL = 'django://' и добавьте это приложение:
INSTALLED_APPS + = ('kombu.transport.django',)
Наконец, запустите рабочего с помощью
./manage.py celery worker --loglevel = info
Источник: http://docs.celeryproject.org/en/latest/getting-started/brokers/django.html
Ответ 2
Я получил эту ошибку, потому что rabbitmq
не был запущен. Если вы установили rabbitmq
через brew, вы можете запустить его с помощью brew services start rabbitmq
Ответ 3
Если вы работаете в рабочей среде,
Вы должны сначала установить и настроить сервер rabbitmq. Вы можете ссылаться на сайт rabbitmq для шагов по установке.
В настройках вы должны записать эти строки:
CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend',
BROKER_URL = 'amqp://guest:[email protected]:5672//'
После настройки сервера rabitmq вам нужно запустить эту две команды,
export C_FORCE_ROOT='true'
celery -A transcoder(name of app) worker --loglevel=info
Ответ 4
У меня была такая же проблема, и причина в том, что я забыл добавить продукты для установки сельдерея (CELERY_RESULT_BACKEND, BROKER_URL,....)
После их добавления проблема решена!