2015-11-07 20 views
1

Celery docs中,设置任务调度的标准方式记录为将调度硬编码到配置文件中。用动态数据库替换芹菜敲打“CELERYBEAT_SCHEDULE”

但是,它也暗示这可以用自定义后端替换。我发现Django有一个动态的,数据库驱动的选项,但我使用一个简单的Flask应用程序来定义我的任务。

有没有人有办法动态加载计划,避免需要重新启动芹菜击败工人,要么从数据库动态拉动计划,要么从文本文件定期重新加载计划?就像在文本文件中围绕日程表拨打reload()一样简单,甚至可能将其作为自己的计划芹菜任务?

回答

3

CELERYBEAT_SCHEDULE只是初始化/ config中糖和对象可从绑定的任务内的:

self.app.conf['CELERYBEAT_SCHEDULE'] 

你可能会写一些后端拉低新值的周期性任务。

+0

感谢指向源对象的指针。我可以从那里工作 - 谢谢! –

+0

@PhilSheard你可以与我分享你的解决方案吗? – luanbuingoc