【问题标题】:Spread load evenly by using ‘H * * * *’ rather than ‘5 * * * *’使用“H * * * *”而不是“5 * * * *”来均匀分布负载
【发布时间】:2014-12-10 14:27:56
【问题描述】:

在设置 Jenkins 应如何从颠覆中提取更改时 我尝试检查 Poll SCM 并将时间表设置为 5 * * * *,我收到以下警告

使用“H * * * *”而不是“5 * * * *”来均匀分布负载

我不确定 H 在这种情况下是什么意思以及为什么要使用它。

【问题讨论】:

    标签: jenkins build continuous-integration


    【解决方案1】:

    H代表哈希

    允许定期安排的任务在 系统中,应尽可能使用符号 H(表示“散列”)。 例如,对十几个日常工作使用 0 0 * * * 将导致大量 午夜的峰值。相反,使用 H H * * * 仍然会执行 每个工作每天一次,但不是同时进行,更好地使用 资源有限。

    【讨论】:

    • @CédricJulien 在这里也很好地解释了:stackoverflow.com/a/12472740/1579667
    • 它应该允许您设置一个窗口(不早于此,不晚于此)。如果你设置了一个准确的时间,它应该在准确的时间运行它。
    • @AlexanderMills 确实如此:H 符号可以与范围一起使用。例如,H H(0-7) * * * 表示 12:00 AM(午夜)到 7:59 AM 之间的某个时间。您还可以使用带 H 的步进间隔,带或不带范围。
    • 那么符号H就像一个随机整数?我也不太清楚“hash”的含义。
    【解决方案2】:

    单击您的日程安排说明旁边的问号。 上面写着:

    允许定期安排的任务在 系统中,应尽可能使用符号 H(表示“散列”)。 例如,对十几个日常工作使用 0 0 * * * 将导致大量 午夜的峰值。相反,使用 H H * * * 仍然会执行 每个工作每天一次,但不是同时进行,更好地使用 资源有限。

    【讨论】:

      【解决方案3】:

      另外在文档中值得注意的是:

      H 符号可以与范围一起使用。例如,H H(0-7) * * * 表示 12:00 AM(午夜)到 7:59 AM 之间的某个时间。您还可以使用带 H 的步进间隔,带或不带范围。

      H 符号可以被认为是一个范围内的随机值,但它实际上是作业名称的哈希,而不是随机函数,因此对于任何给定项目,该值都保持稳定。

      【讨论】:

        猜你喜欢
        • 2013-08-05
        • 2016-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-10
        • 2011-04-04
        • 2019-08-17
        • 2013-01-05
        相关资源
        最近更新 更多