【问题标题】:does celery support a fixed interval between two tasks?celery 是否支持两个任务之间的固定间隔?
【发布时间】:2020-08-21 09:46:02
【问题描述】:

我正在处理 celery 计划任务,但遇到了问题。

假设有一个每 5 分钟运行一次的计划任务。

而且这个任务可以在我的一些 API 中手动执行,

我总是希望这个任务的间隔是 5 分钟。

例如,如果此任务在 8:00 自动执行,

在 8:01 我第二次执行了这个任务,

现在我想下次在 8:06 自动运行 Celery。

那么在 Celery 中有什么方法可以做到这一点吗?

【问题讨论】:

    标签: celery scheduled-tasks


    【解决方案1】:

    没有。它不是。 Celery beat(调度程序)将每 5 分钟运行一次任务。如果你手动触发一个任务,它会被执行并且可能在一段时间内与调度器执行的任务并行运行。

    您可以做的是,通过使用分布式锁来防止任务并行运行,如果您需要的话。

    或者,您可以编写自己的具有此功能的调度程序。

    【讨论】:

    • 谢谢,我已经自己实现了这个功能。
    猜你喜欢
    • 2014-02-15
    • 2017-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多