自动化测试定时构建---Jenkins时间轮询配置
该字段遵循cron的语法(略有不同)。具体来说,每行由5个由TAB或空白分隔的字段组成:
MINUTE HOUR DOM MONTH DOW
分钟 分钟内(0-59)
小时 一天的小时(0-23)
DOM 当天(1-31)
月 月(1-12)
DOW 星期几(0-7),0和7是星期日。
要为一个字段指定多个值,以下运算符可用。按照优先顺序,
- 指定所有有效值
M-N 指定一个范围的值
M-N/X或者*/X通过指定范围或整个有效范围的X间隔的步骤
A,B,...,Z 枚举多个值
为了允许周期性调度的任务在系统上产生均匀的负载,H应尽可能使用符号(“哈希”)。例如,使用0 0 * * *十几个日常工作将在午夜引起大量的飙升。相比之下,使用H H * * *仍然每天执行一次,但并不是全部同时执行,更好地使用有限的资源。
该H符号可与范围一起使用。例如,H H(0-7) * * * 指在12:00 AM(午夜)至上午7:59之间的某段时间。您也可以使用H具有或不带有范围的间隔时间。
该H符号可以被认为是一个范围内的随机值,但它实际上是作业名称的哈希,而不是随机函数,因此该值对于任何给定的项目保持稳定。
请注意,由于月份长度可变,在月份的一天中,短周期,例如/3或H/3将不会在大多数月份结束之前一直工作。例如,/3将在一个漫长的月份的第1天,第4天,第31天运行,然后在下个月的第二天。哈希总是在1-28范围内选择,所以H/3在一个月之后的3到6天的运行之间将产生差距。(较长的循环也将具有不一致的长度,但效果可能相对较不明显)。
空行和开头的#行将被忽略为注释。
此外,@yearly,@annually,@monthly, @weekly,@daily,@midnight,并且@hourly也支持方便的别名。这些使用哈希系统进行自动平衡。例如,与一小时内的任何时间@hourly相同,H * * * *也可能意味着什么。 @midnight实际上是指上午12:00至凌晨2:59之间的一段时间。
例子:
每十五分钟(也许在:07:22:37:52)
H / 15 * * * *
#每十分钟的上半部分(三次,也许在04:14: 24)
H(0-29)/ 10 * * * *
#每两小时一次,从上午9:45开始45分钟,每个工作日3:45 PM完成。
45 9-16 / 2 * * 1-5
在上午9点和下午5点每个工作日之间每隔两小时时隙#一次(或许在上午10时38分,下午12点38,下午2点38分,下午4点38)
HH (9-16)/ 2 * * 1-5
#除1月1日以外的每月1日和15日每日1次
1-11 *