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

Запуск джанго-сельдерея в производстве

Я создал веб-приложение Django и некоторые службы Django-Piston. Используя веб-интерфейс, пользователь отправляет некоторые данные, которые отправляются в веб-службу, и что веб-служба, в свою очередь, использует Django-сельдерей для запуска фоновой задачи.

Все работает отлично в среде разработки с помощью manage.py. Теперь я пытаюсь перенести это на производство на правильный сервер apache. Веб-приложение и веб-службы прекрасно работают на производстве, но у меня возникают серьезные проблемы с запуском celeryd в качестве демона. На основе этих инструкций: http://docs.celeryproject.org/en/latest/tutorials/daemonizing.html#running-the-worker-as-a-daemon Я создал файл celeryconfig.py и застрял в каталоге /usr/bin (это где celeryd - это место на моем сервере arch 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"
4b9b3361

Ответ 1

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