После нескольких часов на этом безрезультатно мне действительно нужна помощь.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 включен, чей журнал является чистым и без ошибок)
Мне просто нужно, чтобы избежать ненужных строк долго на мой лог-файл. Чистое и быстрое решение.
Любой может помочь? Спасибо!
В журнале DEBUG следует учитывать, что вы используете 'loglevel = INFO', поэтому я предполагаю, что что-то еще должно установить лог-уровень. Я помню, что Django делал это, но я не совсем уверен, как это исправить. Не уверен, что вы подразумеваете под «задачами не выполняются», журнал из вашего битового процесса явно указывает, что задача была отправлена. Вы имеете в виду, что задача не выполняется работником? Вы начали рабочий с бита? – asksol
Кажется, столкнулся с панелью Django-debug-toolbar, в результате чего я удалил приложение из настроек Django. – user3096364