Джанго и Сельдерей с помощью manage.py

Я использую Django 1.6 и Celery 3.1.1.

Раньше, когда требовалось приложение django-celery, у меня не было проблем. Используя новый метод запуска celery, я может заставить его работать, но я не могу заставить работать celerycam.

Если попытаться запустить ./manage.py celeryd -B -E, я получаю следующую ошибку:

потребитель: Не удается подключиться к amqp://[email protected]:5672//: [Errno 111] Отказ в подключении.

Он полностью игнорирует мой BROKER_URL в settings.py. Я настроил файл celery.py, описанный в docs и все работает.

Теперь я хочу запустить celerycam, для которого, как я понимаю, все еще требуется django-celery. Когда я пытаюсь запустить celerycam (./manage.py celerycam), я получаю следующую ошибку:

socket.error: [Errno 111] В соединении отказано

Я предполагаю, что это та же причина, по которой я получаю сообщение об ошибке при попытке вызвать celeryd из manage.py — потому что он не читает мой файл settings.py. Кто-нибудь знает, как я могу заставить django-celery прочитать мою настройку BROKER_URL?


person Dustin    schedule 30.12.2013    source источник


Ответы (2)


Как это часто бывает, написание моего проекта привело к моему решению.

Добавление следующего исправления моей проблемы:

import djcelery
djcelery.setup_loader()
person Dustin    schedule 30.12.2013

Разве эти строки не требуют снова django-celery, что уже не рекомендуется, начиная с celery 3.1+?

person Oscar    schedule 08.07.2014