2014-02-17 6 views
0

결과가없는 몇 시간 후에 정말로 도움이 필요합니다. 장고 셀러리 - 예약 된 작업

나는 내 장고 응용 프로그램에 장고 - 셀러리를 구성하고 내가 함께 예약 된 작업을 실행할 수 있어요 : 지금은 생산을위한 시간과 내 고통이 시작되는 여기

python manage.py celeryd -E -B -l INFO 

. celeryd을 데몬으로 설정했습니다. 작동하는 것처럼 보이지만 예약 된 작업은 실행되지 않습니다.

CELERYD_OPTS-B을 추가했습니다. 예정대로 내 작업을 지금 실행하지만 내 로그에이 지루한 라인을 가지고 :

[2014-02-17 22:37:30,738: DEBUG/MainProcess] beat: Waking up in 5.00 seconds. 

난 그냥 제거 할 나의 로그에서 라인! 나는 그것이 의미하는 바를 이해하지 못한다.

따라서 celerybeat 데몬을 구성하여 프로덕션 환경에 대한이 솔루션이 더 깨끗하고 제안 될 수 있다고 생각했습니다.

불행히도 내가 stat celerybeat 데몬을 만들면 로그와 PID 파일이 생성되지만 예약 된 작업은 실행되지 않습니다.

[2014-02-17 19:15:41,919: INFO/MainProcess] beat: Starting... 
[2014-02-17 19:15:41,921: INFO/MainProcess] Writing entries... 
[2014-02-17 19:15:42,072: DEBUG/MainProcess] Current schedule: 
<ModelEntry: celery.backend_cleanup celery.backend_cleanup(*[], **{}) {4}> 
<ModelEntry: MyApp.tasks.test_task MyApp.tasks.test_task(*[], **{}) {4}> 
[2014-02-17 19:15:42,187: DEBUG/MainProcess] beat: Ticking with max interval->5.00 seconds 
[2014-02-17 19:15:42,206: DEBUG/MainProcess] Start from server, version: 0.9, properties: {u'information': u'Licensed under the MPL. See http://www.rabbitmq.com/', u'product': u'RabbitMQ', u'copyright': u'Copyright (C) 2007-2011 VMware, Inc.', u'capabilities': {u'exchange_exchange_bindings': True, u'consumer_cancel_notify': True, u'publisher_confirms': True, u'basic.nack': True}, u'platform': u'Erlang/OTP', u'version': u'2.7.1'}, mechanisms: [u'PLAIN', u'AMQPLAIN'], locales: [u'en_US'] 
[2014-02-17 19:15:42,207: DEBUG/MainProcess] Open OK! 
[2014-02-17 19:15:42,257: INFO/MainProcess] Scheduler: Sending due task MyApp.tasks.test_task (MyApp.tasks.test_task) 

그리고 더 이상 없습니다. 내 이해

모든 (RabbitMQ 포함, 그 로그 깨끗하고 오류없이)

난 그냥 내 로그 파일에 긴 쓸모없는 선을 피할 필요가 작동합니다. 깨끗하고 빠른 솔루션입니다.

누구든지 도움을받을 수 있습니까? 감사합니다.

+0

DEBUG 로그는 'loglevel = INFO'를 사용할 때 포함되어야한다는 것을 기억해야합니다. 그래서 다른 것들이 loglevel을 설정해야합니다. 장고가 그렇게하던 것을 기억하지만, 어떻게 고쳐야할지 잘 모르겠습니다. '작업이 실행되지 않음'이란 의미가 확실하지 않은 경우 비트 프로세스의 로그에 작업이 전송되었다는 내용이 명시되어 있습니다. 작업이 작업자에 의해 실행되지 않는다는 것을 의미합니까? 당신은 이길만한 인물로 노동자를 시작 했습니까? – asksol

+0

Django 디버그 도구 모음과의 충돌이있는 것으로 보입니다. 프로덕션의 장고 설정에서 응용 프로그램을 제거하는 일이 발생했습니다. – user3096364

답변

0

프로덕션 환경에서 django-debug-toolbar를 사용하지 않도록 설정 한이 문제가 해결되었습니다. https://github.com/celery/celery/issues/1877

django-celery 및 django-debug-toolbar가 로깅 구성을 엉망으로 만드는 경우가 있습니다.