如何配置Jenkins每3分钟执行任务且不从0分开始?
解决Jenkins Cron表达式非起始间隔执行的问题
首先,问题出在Jenkins使用的是Quartz Cron表达式语法,和传统Unix Cron的step写法不一样——Quartz不支持1/3这种"从第1分钟开始每隔3分钟"的简写格式,这就是你遇到语法错误的原因。
要实现三个任务每分钟循环执行一个(每3分钟一轮),正确的配置应该是这样:
- 第一个任务(0,3,6...57分钟执行):
*/3 * * * * - 第二个任务(1,4,7...58分钟执行):
1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * - 第三个任务(2,5,8...59分钟执行):
2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59 * * * *
补充说明:
Quartz Cron的分钟字段规则里,*/n仅表示"从0开始,每隔n分钟执行",如果需要从非0的分钟点开始循环,只能手动枚举所有符合间隔条件的分钟值。虽然看起来繁琐,但这是Jenkins Cron语法的限制,确保这样配置后三个任务就能完美按你想要的节奏(每分钟一个,每3分钟一轮)执行了。
内容的提问来源于stack exchange,提问作者ewok
相关产品推荐
相关产品推荐

