芹菜 - 修改任务调度时间

时间:2016-01-27 05:25:55

标签: python celery

我有一个期间任务,从数据库中获取计划 因为我们希望用户可以更改该值

app.conf.CELERYBEAT_SCHEDULE = {
    'do_something': {
        'task': 'celery_task.tasks.do_something',
        'schedule': timedelta(seconds=get_setting()),
        'options': { 'queue': 'do_something',
                     'expires':get_setting()}
    },

当我执行celery beat -A project --loglevel=INFO时 它按每timedelta(seconds=get_setting()

运行任务

但是当我改变数据库中的时间时 任务仍然使用旧的计划时间
我怎样才能让它使用新的时间表???? 没有重新启动芹菜击败可能吗?

1 个答案:

答案 0 :(得分:0)

Celery提供了构建自定义调度程序的选项。你可以阅读它here。此外,您可以在this SE问题和this github存储库中查看示例。

很快,您需要实现一个同步数据库条目的新调度程序。祝你好运!