首页 > 解决方案 > 如何将 Jenkins 作业配置为每 45 分钟运行一次?

问题描述

我正在尝试将 Jenkins 作业配置为每 45 分钟运行一次:

*/45 * * * *

但是自从我改变它以来,运行作业的最新间隔对我来说看起来并不好:

2020 年 3月 27 日上午 11:45
2020 年 3 月 27 日上午 11:00
2020 年 3 月 27 日上午 10:45
2020 年 3 月 27 日上午 10:00
2020 年 3 月 27 日上午 9:45 2020 年3 月 27日上午
8:36
, 2020 年上午 7:36 2020 年
3 月 27 日上午 6:36

如您所见,在更改间隔之前,作业每小时运行一次。
我实际上希望输出是这样的:

2020 年 3 月 27 日 12:45
2020 年 3 月 27 日 12:00
2020 年 3 月 27 日 11:15
2020 年 3 月 27 日 10:30 2020 年
3 月 27 日 9:45

我的配置有什么问题?

标签: jenkinscron

解决方案


在一小时内每 45 分钟运行一次工作。每个小时单独处理,计数器重新开始。

最简单的解决方法是将间隔更改为小时或 30 分钟(通常是在没有提醒的情况下划分一个小时的时间)——这样你就可以在没有额外努力的情况下获得均匀的间隔。缺点很明显 - 频率并不是你想要的。

另一种方法是将间隔设置为较小的值(如 15 分钟)并检查工作时间(如果时间尚未过去,则退出工作)。缺点是您在工作中需要额外的逻辑,并且您在历史上有“空”的构建。

最后一个选项是手动设置每个触发器 - “每 45 分钟”每天 32 个触发器。对于某些间隔(例如 45 分钟),它可能非常紧凑,但如果您想将其更改为“每 41 分钟”,它就会变得一团糟。


推荐阅读