Dav*_*nis 4 cron dsl groovy jenkins
大家好,现在我有一个基本的 cron,每天在 1 点和 6 点运行我的东西两次。类似于:
H 1,18 * * *
Run Code Online (Sandbox Code Playgroud)
问题是我现在有大约 100 个事情正在启动,这堵塞了我的机器。我想每天为每个作业随机生成一次运行时间。如果同时去5-7个就可以了。所以我想我的问题是。其一,这可能吗?如果是这样,是否有最佳实践?我正在 groovy 中加载所有内容,所以我只是想生成一个 1-24 之间的数字并将其添加到此中:
cron('H 1,18 * * *')
Run Code Online (Sandbox Code Playgroud)
如果可能的话。但我觉得这仍然会阻碍我,因为我还有很多事情要做。
我这样做了:
H H(0-7) * * *
Run Code Online (Sandbox Code Playgroud)
这似乎给了它一个 12 到 7 之间的随机时间,这对我来说有好处。您还可以执行以下操作:
def rand = Math.abs(new Random().nextInt() % 24) + 1;
triggers {
githubPush()
cron('H ' + rand + ' * * *')
}
Run Code Online (Sandbox Code Playgroud)
但似乎额外,因为我所做的工作。