Java 在n到m范围内,每2小时随机触发一次Jenkins作业
我有一个jenkins作业,我想每2小时执行一次,每分钟执行一次,范围从n到m 例如: 预期日程安排: 我尝试了以下内容: 每2小时8分钟运行一次Java 在n到m范围内,每2小时随机触发一次Jenkins作业,java,jenkins,continuous-integration,scheduled-tasks,Java,Jenkins,Continuous Integration,Scheduled Tasks,我有一个jenkins作业,我想每2小时执行一次,每分钟执行一次,范围从n到m 例如: 预期日程安排: 我尝试了以下内容: 每2小时8分钟运行一次 据我所知,作业每两小时运行一次,时间间隔为5到25分钟,但每分钟都是相同的。如何强制触发器更改给定范围内每个构建的分钟数?詹金斯似乎还没有这样的功能。我可以通过添加一个新的RandomWait作业来解决这个问题,该作业只有一个测试,它只等待一个随机时间。然后此作业每2小时运行一次,每次运行0分钟,执行后将触发我的“主”作业 RandomJob测试中
据我所知,作业每两小时运行一次,时间间隔为5到25分钟,但每分钟都是相同的。如何强制触发器更改给定范围内每个构建的分钟数?詹金斯似乎还没有这样的功能。我可以通过添加一个新的
RandomWait
作业来解决这个问题,该作业只有一个测试,它只等待一个随机时间。然后此作业每2小时运行一次,每次运行0分钟,执行后将触发我的“主”作业
RandomJob
测试中的示例代码:
public void waitRandomTime() {
int max = 31;
System.out.println("Peeking a random number in a range between 0 and " + (max - 1));
int minute = new Random().nextInt(max);
System.out.println("Start waiting " + minute + " minutes");
for (int i = 0; i < minute; i++) {
System.out.println("Minute: " + i);
waitABit(60000); // wait one minute
}
}
public void waitRandomTime(){
int max=31;
println(“窥视0到“+(max-1)”范围内的随机数);
int minute=new Random().nextInt(最大值);
System.out.println(“开始等待”+分钟+“分钟”);
for(int i=0;i
因此,我现在有了此作业的执行时间:
PS这个解决方案是用Java编写的,但在其他语言中类似。詹金斯似乎还没有这样的功能。我可以通过添加一个新的
RandomWait
作业来解决这个问题,该作业只有一个测试,它只等待一个随机时间。然后此作业每2小时运行一次,每次运行0分钟,执行后将触发我的“主”作业
RandomJob
测试中的示例代码:
public void waitRandomTime() {
int max = 31;
System.out.println("Peeking a random number in a range between 0 and " + (max - 1));
int minute = new Random().nextInt(max);
System.out.println("Start waiting " + minute + " minutes");
for (int i = 0; i < minute; i++) {
System.out.println("Minute: " + i);
waitABit(60000); // wait one minute
}
}
public void waitRandomTime(){
int max=31;
println(“窥视0到“+(max-1)”范围内的随机数);
int minute=new Random().nextInt(最大值);
System.out.println(“开始等待”+分钟+“分钟”);
for(int i=0;i
因此,我现在有了此作业的执行时间:
PS此解决方案是Java语言,但在其他语言中类似。根据Jenkins文档,H符号可以被视为一个范围内的随机值,但它实际上是作业名称的散列,而不是随机函数,因此该值对于任何给定项目都保持稳定,不要相信此值。看看这个,也许有帮助。顺便说一句,这个时间表H(5-25)H***说,你每天运行一次hour@PavelAnikhouski顺便说一句,这个计划H(5-25)H***说,你每小时运行一次-你是对的,编辑了我的问题。根据Jenkins文档,H符号可以被认为是一个范围内的随机值,但它实际上是作业名称的散列,而不是随机函数,因此,对于任何给定的项目,该值都保持稳定,不要相信该值。看看这个,也许有帮助。顺便说一句,这个时间表H(5-25)H***说,你每天运行一次hour@PavelAnikhouski顺便说一句,这个时间表H(5-25)H***说,你每小时运行一次-你是对的,编辑了我的问题。
H(5-25) H/2 * * *
public void waitRandomTime() {
int max = 31;
System.out.println("Peeking a random number in a range between 0 and " + (max - 1));
int minute = new Random().nextInt(max);
System.out.println("Start waiting " + minute + " minutes");
for (int i = 0; i < minute; i++) {
System.out.println("Minute: " + i);
waitABit(60000); // wait one minute
}
}