【问题标题】:celery- modify task scheduler timecelery - 修改任务调度器时间
【发布时间】:2016-05-03 22:33:57
【问题描述】:

我有一个从数据库获取日程的周期任务
因为我们希望用户可以更改值

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() 运行任务

但是当我更改数据库中的时间时
任务仍然使用旧的计划时间
我怎样才能让它使用新的调度时间???
不重启 celery beat 可以吗?

【问题讨论】:

    标签: python celery


    【解决方案1】:

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

    简而言之,您需要实现一个新的调度程序来同步数据库中的条目。祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-23
      • 2018-05-03
      • 1970-01-01
      • 1970-01-01
      • 2015-10-03
      • 2015-09-07
      • 2023-03-09
      • 1970-01-01
      相关资源
      最近更新 更多