Выполнение Django-сельдерея в производстве

Я создал веб-приложение Django и некоторые Django-поршневые сервисы. Используя веб-интерфейс пользователь отправляет некоторые данные, которые ОТПРАВЛЯЮТСЯ на веб-сервис и что веб-сервис в свою очередь использует Django-сельдерей для запуска фоновой задачи.

Все хорошо работает в среде разработки с помощью manage.py. Теперь я пытаюсь переместить это в производство на надлежащем апачском сервере. Веб-приложение и веб-сервисы хорошо работают в производстве, но у меня есть серьезные проблемы, запускающиеся celeryd как демон. На основе этих инструкций: http://docs.celeryproject.org/en/latest/tutorials/daemonizing.html#running-the-worker-as-a-daemon я создал celeryconfig.py файл и засунул его в/usr/bin каталог (это - то, где celeryd является местоположением на моей дуге сервер Linux).

CELERYD_CHDIR="/srv/http/ControllerFramework/"
DJANGO_SETTINGS_MODULE="settings"
CELERYD="/srv/http/ControllerFramework/manage.py celeryd"

Однако, когда я пытаюсь запустить celeryd с командной строки, я получаю следующую ошибку:

 "Missing connection string! Do you have "
celery.exceptions.ImproperlyConfigured: Missing connection string! Do you have    CELERY_RESULT_DBURI set to a real value?

Не уверенный, куда пойти отсюда. Ниже мой раздел settings.py, поскольку он принадлежит этой проблеме:

BROKER_HOST = "localhost"
BROKER_PORT = 5672
BROKER_USER = "controllerFramework"
BROKER_PASSWORD = "******"
BROKER_VHOST = "localhost"

12
задан David Drabik 2 September 2013 в 23:56
поделиться

1 ответ

В итоге я побеседовал с руководителем проекта по django-celery. Пара вещей. Прежде всего, сельдерей нужно запускать с помощью manage.py celeryd. Во-вторых, в файле settings.py нужно «импортировать djcelery». Эта проблема с импортом может быть исправлена ​​в следующей версии, но пока вам нужно это сделать.

8
ответ дан 2 December 2019 в 22:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: