jenkins cron:每 3 分钟运行一次,从 1 开始
Posted
技术标签:
【中文标题】jenkins cron:每 3 分钟运行一次,从 1 开始【英文标题】:jenkins cron: run every 3rd minute, starting at 1 【发布时间】:2018-09-30 04:04:36 【问题描述】:我想将 Jenkins 设置为每 3 分钟运行一次作业,但不是从 0 开始。基本上,我有 3 个作业,我想每分钟循环一次。
我可以使用*/3 * * * *
每 3 分钟运行一次的第一个作业。但是第二次我尝试了1/3 * * * *
,它失败了hudson.remoting.ProxyException: line 1:2: unexpected token: /
这个表达式怎么写?
【问题讨论】:
我相信这里的问题在于 Jenkins 对 cron 表达式的评估。我每天中午和午夜都在使用 0 0/12 * * * 运行,但是遇到了与 OP 相同的错误:“unexpected token: /” @timblaktu - 看起来 Jenkins 坚持接近 gnu mcron(暗示 vixie cron)标准,该标准具有x-y/z
和 */z
但未指定 x/z
. (IEEE standard 甚至根本不允许 /
构造,只是逗号分隔的列表。)
【参考方案1】:
我想你正在寻找:
工作 1:0-57/3 * * * *
工作 2:1-58/3 * * * *
工作 3:2-59/3 * * * *
将 cron 分钟条目视为“范围/步骤”(或者,“在分钟范围内每 步 分钟运行一次开始-结束)
参考:我能够从这个出色的answer 中找到答案,其中包括一些有用的相关链接和更深入的解释。
【讨论】:
那么为什么 cron.help 或其他 cron 文档显示 */3、1/3 等都是有效的 cron 表达式?我相信这里的问题在于 Jenkins 对 cron 表达式的评估。我正在使用:0 0/12 * * * 每天在中午和午夜运行,但我遇到了与 OP 相同的错误:“unexpected token: /”以上是关于jenkins cron:每 3 分钟运行一次,从 1 开始的主要内容,如果未能解决你的问题,请参考以下文章