2014-02-17 4 views
0

После нескольких часов на этом безрезультатно мне действительно нужна помощь.Django Celery - выполнение запланированных заданий

Я настроил Django-сельдерей на моей Django App, и я в состоянии выполнить запланированные задачи с:

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

Теперь пришло время для производства и именно здесь начинается моя боль. Я настроил celeryd в качестве демона. Это похоже на работу, но запланированные задачи не будут выполняться.

Поэтому я добавил -B в CELERYD_OPTS. Мои задачи теперь выполняются в соответствии с графиком, но у меня есть эти скучные линии на моем журнале:

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

Я просто хочу, чтобы удалить, что строки из моего журнала! Я даже не понимаю, что это значит.

Итак, я настроил daemon celerybeat, полагая, что это будет чище и предложит решение для производственной среды.

К сожалению, когда я устанавливаю daemon 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', поэтому я предполагаю, что что-то еще должно установить лог-уровень. Я помню, что Django делал это, но я не совсем уверен, как это исправить. Не уверен, что вы подразумеваете под «задачами не выполняются», журнал из вашего битового процесса явно указывает, что задача была отправлена. Вы имеете в виду, что задача не выполняется работником? Вы начали рабочий с бита? – asksol

+0

Кажется, столкнулся с панелью Django-debug-toolbar, в результате чего я удалил приложение из настроек Django. – user3096364

ответ

0

Я решил эту проблему отключить django-debug-toolbar в рабочей среде. https://github.com/celery/celery/issues/1877

Кажется, что django-celery и django-debug-toolbar иногда могут испортить конфигурацию ведения журнала.