【问题标题】:How to customize celery periodic task time interval?如何自定义 celery 周期性任务时间间隔?
【发布时间】:2017-05-21 04:46:44
【问题描述】:

我需要每 30 分钟运行一次计划。我已经给了 cron as */30 * * *,它每 30 分钟安排一次

00:30
01:00
01:30
02:00
02:30
.
.
.
00:00

但我想自定义 cron 来安排类似

00:45        00:05       00:10
01:15        00:35       00:40
01:45        01:05       01:10
02:15  (or)  01:35  (or) 01:40
02:45        02:05       02:10
.            .            .
.            .            .
.            .            .
00:15        23:35       23:40

我怎样才能让 cron 选项卡来制定这样的计划?

我为此使用 django 和 celery,并使用数据库调度程序。

PS:我希望这只能通过 cron 来实现,而不是通过在脚本中提供任何时间延迟来实现。有可能吗?

【问题讨论】:

    标签: python celery crontab django-celery periodic-task


    【解决方案1】:

    我相信您不能按预期提供 cron 选项卡。 相反,你应该给单独的 cron 选项卡,如下所示..

    Day 0 = Sunday
    Day 1 = Monday
    Day 2 = Tuesday
    Day 3 = Wednesday
    Day 4 = Thursday
    Day 5 = Friday
    Day 6 = Saturday
    

    要在每个星期日、星期一、星期四运行任务,请给 cron tab 之类的

    0 1 0,1,4 * *
    5 1 0,1,4 * *
    10 1 0,1,4 * *
    15 1 0,1,4 * *
    20 1 0,1,4 * *
    25 1 0,1,4 * *
    30 1 0,1,4 * *
    35 1 0,1,4 * *
    ...
    ...
    

    或

    要在每周二和周五运行任务,请给 cron tab 之类的

    0 1 2,5 * *
    5 1 2,5 * *
    10 1 2,5 * *
    15 1 2,5 * *
    20 1 2,5 * *
    25 1 2,5 * *
    30 1 2,5 * *
    35 1 2,5 * *
    ...
    ...
    

    您必须提供上述格式,以便您能够按预期运行任务。

    【讨论】:

      【解决方案2】:

      为您的 crontab 使用以下时间表之一:

      15,45 * * * * 要么 5,35 * * * * 要么 10,40 * * * *

      【讨论】:

        猜你喜欢
        • 2015-05-05
        • 2014-08-27
        • 2012-08-22
        • 2018-11-28
        • 1970-01-01
        • 2018-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多