jenkins - 如何将 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
我的配置有什么问题?
解决方案
您在一小时内每 45 分钟运行一次工作。每个小时单独处理,计数器重新开始。
最简单的解决方法是将间隔更改为小时或 30 分钟(通常是在没有提醒的情况下划分一个小时的时间)——这样你就可以在没有额外努力的情况下获得均匀的间隔。缺点很明显 - 频率并不是你想要的。
另一种方法是将间隔设置为较小的值(如 15 分钟)并检查工作时间(如果时间尚未过去,则退出工作)。缺点是您在工作中需要额外的逻辑,并且您在历史上有“空”的构建。
最后一个选项是手动设置每个触发器 - “每 45 分钟”每天 32 个触发器。对于某些间隔(例如 45 分钟),它可能非常紧凑,但如果您想将其更改为“每 41 分钟”,它就会变得一团糟。
推荐阅读
- javascript - 在 Firefox 中传输端口时出现 PostMessage 错误
- git - 如何将错误从 git-hooks 打印到 Android Studio 事件日志?
- wso2 - WSO2 租户更新失败 v5.5.0
- ecmascript-6 - 如何使用 JavaScript Swagger Codegen 在不需要模块加载器的情况下生成模型?
- node.js - 我无法让 async/await 函数按预期运行
- c# - 如何在视图中检索对象属性
- r - 如何停止重置 R-Shiny 中的变量?
- windows - 存储和管理多个 PDB 文件?
- c# - 无法在服务器代码中创建 Outlook 项目
- python - 带有计时器和字符串替换的 Python 请求