2010-07-23 6 views
12

장고 (Django) 웹 애플리케이션과 일부 장고 피스톤 서비스를 구축했습니다. 웹 인터페이스를 사용하여 사용자는 웹 서비스에 게시 된 일부 데이터를 제출하고 그 웹 서비스는 Django-Celery를 사용하여 백그라운드 작업을 시작합니다.Production에서 Django-Celery 실행

모든 것이 개발 환경에서 manage.py를 사용하여 잘 작동합니다. 이제는 이것을 적절한 아파치 서버에서 프로덕션으로 옮기려고합니다. 웹 응용 프로그램과 웹 서비스는 제대로 작동하지만 데몬으로 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 섹션입니다 :

+0

실제로 'CELERY_RESULT_DBURI'이 (가) 어딘가에 설정되어 있습니까? 'AMQP'= CELERY_RESULT_BACKEND하지만 celeryd을 실행하려고하면 오류가 발생합니다 : –

+0

난 다음에 그 값을 설정하려고 [2010-07-23 12 : 46 : 13,138 : 경고/MainProcess] 상승 KeyError ("AMQP 연결에 대한 누락 된 호스트 이름") [2010-07-23 12 : 46 : 13,138 : 경고/주 프로세스] KeyError [2010-07-23 12 : 46 : 13,138 : 경고/MainProcess] : [2010 -07-23 12 : 46 : 13,139 : WARNING/MainProcess] 'AMQP 연결을위한 호스트 이름이 없습니다.' 나는이 오류가있어 장고 셀레 리에 대한 문서에서 어디에서나이 값을 설정해야한다고 생각했기 때문에 나는 다시 뭔가 잘못하고 있다고 생각했습니다. – Przemek

+0

프로덕션 환경에서 실행될 때 설정이 celeryconfig.py에 있다고 가정합니다. settings.py에는 없습니다. 이 경우 celeryconfig.py 파일을 추가해야합니까? – Przemek

답변

8

그래서 나는 장고 - 셀러리 프로젝트 리더와 이야기를 나누었습니다. 몇 가지. 먼저 샐러리는 'manage.py celeryd'를 사용하여 실행해야합니다. 둘째, settings.py 파일에서 '가져 오기 djcelery' 이 가져 오기 문제는 다음 버전에서 해결 될 수 있지만 지금은이 작업을 수행해야합니다.

관련 문제