使用'H * * * *'而不是'5 * * * *'平均分配负载


91

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

使用'H * * * *'而不是'5 * * * *'平均分配负载

我不确定在这种情况下H是什么意思,为什么我应该使用它。

Answers:


121

H代表哈希

为了使定期计划的任务在系统上产生均匀的负载,应尽可能使用符号H(“哈希”)。例如,将0 0 * * *用于一打日常工作,将导致午夜时分大幅增加。相比之下,使用HH * * *仍会每天执行一次每个作业,但并非同时执行所有作业,最好使用有限的资源。


1
@CédricJulien在这里也很好地解释了:stackoverflow.com/a/12472740/1579667
Benj

它应该允许您设置一个窗口(不早于此,不迟于此)。如果您设置了准确的时间,它应该在准确的时间运行。
亚历山大·米尔斯

@AlexanderMills:可以将H符号与范围一起使用。例如,HH(0-7)* * *表示介于12:00 AM(午夜)至7:59 AM之间的某个时间。您还可以将步长间隔与H配合使用,无论有无范围。
Big McLargeHuge

那么符号H就像一个随机整数吗?我也不太了解“哈希”的含义。
Henson Fang

29

单击计划说明旁边的问号。它说:

为了使定期计划的任务在系统上产生均匀的负载,应尽可能使用符号H(“哈希”)。例如,将0 0 * * *用于一打日常工作,将导致午夜时分大幅增加。相比之下,使用HH * * *仍会每天执行一次每个作业,但并非同时执行所有作业,最好使用有限的资源。


8

同样在文档中值得注意的是:

H符号可以与范围一起使用。例如,HH(0-7)* * *表示介于12:00 AM(午夜)至7:59 AM之间的某个时间。您还可以将步长间隔与H配合使用,无论有无范围。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.