python – Celerybeat没有按预期工作
发布时间:2020-12-20 13:28:40 所属栏目:Python 来源:网络整理
导读:我正在用瓶子建立一些项目,我需要它定期运行某些预定的行动. 我决定选择rabbitmq芹菜,因为它似乎是最强劲的以编程方式管理预定作品的完整解决方案. 我安装了rabbitmq和芹菜,当我使用celeryd -B时,任务就可以了. 但是,当我使用celerybeat命令时,任务被“发送
我正在用瓶子建立一些项目,我需要它定期运行某些预定的行动.
我决定选择rabbitmq芹菜,因为它似乎是最强劲的&以编程方式管理预定作品的完整解决方案. 我安装了rabbitmq和芹菜,当我使用celeryd -B时,任务就可以了. 我错过了什么吗? 这是$celerybeat -l debug的输出: [2012-06-30 18:07:44,676: WARNING/MainProcess] celerybeat v2.5.5 is starting. [2012-06-30 18:07:44,750: WARNING/MainProcess] __ - ... __ - _ Configuration -> . broker -> amqp://guest@localhost:5672// . loader -> celery.loaders.default.Loader . scheduler -> celery.beat.PersistentScheduler . db -> celerybeat-schedule . logfile -> [stderr]@DEBUG . maxinterval -> 5.00 minutes (300s) [2012-06-30 18:07:44,751: DEBUG/MainProcess] Setting default socket timeout to 30 [2012-06-30 18:07:44,751: INFO/MainProcess] Celerybeat: Starting... [2012-06-30 18:07:44,776: DEBUG/MainProcess] Current schedule: <Entry: celery.backend_cleanup celery.backend_cleanup() {<crontab: 0 4 * (m/h/d)>} <Entry: often tasks.output() {<freq: 1.00 minute>} [2012-06-30 18:07:44,776: DEBUG/MainProcess] Celerybeat: Ticking with max interval->5.00 minutes [2012-06-30 18:07:44,781: DEBUG/MainProcess] Start from server,version: 8.0,properties: {u'information': u'Licensed under the MPL. See http://www.rabbitmq.com/',u'product': u'RabbitMQ',u'copyright': u'Copyright (C) 2007-2012 VMware,Inc.',u'capabilities': {},u'platform': u'Erlang/OTP',u'version': u'2.8.4'},mechanisms: [u'PLAIN',u'AMQPLAIN'],locales: [u'en_US'] [2012-06-30 18:07:44,785: DEBUG/MainProcess] Open OK! known_hosts [] [2012-06-30 18:07:44,787: DEBUG/MainProcess] using channel_id: 1 [2012-06-30 18:07:44,789: DEBUG/MainProcess] Channel open [2012-06-30 18:07:44,790: INFO/MainProcess] Scheduler: Sending due task tasks.output [2012-06-30 18:07:44,794: DEBUG/MainProcess] Celerybeat: Synchronizing schedule... [2012-06-30 18:07:44,838: DEBUG/MainProcess] tasks.output sent. id->53951ab0-022d-40a5-9f56-9a4a294294c7 [2012-06-30 18:07:44,838: DEBUG/MainProcess] Celerybeat: Waking up in 1.00 minute. 解决方法
Celerybeat本身就可以节省时间并将任务铲到适当的队列上供其他人使用.
Ergo,启动一个celeryd进程,监听你想要处理的队列: $celeryd <queuename> -l DEBUG (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |