Подтвердить что ты не робот

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()
4b9b3361

Ответ 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,....)
После их добавления проблема решена!