Jenkins/Hudson构建计划跨越午夜(晚上9点至凌晨2点)。

3

我想在Jenkins中安排一个工作,在晚上18点至2点之间运行。

因此,我在每次构建/时间表字段中输入了以下公式:

H H(18-2) * * *

但是,当我保存该工作时,出现了异常:

javax.servlet.ServletException: java.lang.IllegalArgumentException: n must be positive
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:719)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770)
(...)
Caused by: java.lang.IllegalArgumentException: n must be positive
at java.util.Random.nextInt(Unknown Source)
at hudson.scheduler.Hash$1.next(Hash.java:72)
at hudson.scheduler.BaseParser.doHash(BaseParser.java:100)
at hudson.scheduler.CrontabParser.term(CrontabParser.java:328)
at hudson.scheduler.CrontabParser.expr(CrontabParser.java:180)
at hudson.scheduler.CrontabParser.startRule(CrontabParser.java:60)
... 60 more

为了测试目的,当我输入:

H H(0-2) * * *时它可以正常工作。

你能告诉我哪里出了问题吗?

2个回答

4

我检查了一下,Jenkins 给出了以下错误信息:无效输入:"H H(18-23,0-2) * * *":第1行第10个字符:期望 ")",但发现 ","我还检查了分号(;)、空格(' '),但是仍然存在相同的错误。 - Blaise
我在针对你的问题上找到了一个错误报告,并更新了答案。 - Kleist
非常感谢。让我们看看他们什么时候会修复它。 - Blaise

2

我遇到了相同的问题,非常令人沮丧。 一个建议是使用两个日程表,我已经测试过这种方法,它有效。

H H(18-23) * * *
H H(0-1) * * *

请注意,如果您指定0-1,则表示从午夜到凌晨1点59分。
希望这可以帮助您。
Noel/

1
这不会运行两次任务吗? - emmdee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接