Django Celery-运行计划任务



几个小时后,我真的需要帮助。

我在Django应用程序上配置了Django Celery,我可以使用运行计划任务

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守护进程,认为这将是生产环境中更干净、更建议的解决方案。

不幸的是,当我统计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,其日志是干净的,没有错误)

我只需要避免日志文件中出现无用的长行。清洁快速的解决方案。

有人能帮忙吗?谢谢

我解决了在生产环境中禁用django调试工具栏的问题。https://github.com/celery/celery/issues/1877

看来django-celery和django-debug工具栏有时可能会打乱日志配置。

相关内容

  • 没有找到相关文章

最新更新