0

我正在尝试创建一个 cron 表达式,该表达式将根据我得到的时间以及每 X 分钟触发一次作业。开始/结束时间和分钟间隔都是我从用户那里得到的参数。例如:

开始时间:09:15 结束时间:19:35 分钟间隔:15

我希望工作从 09:15 开始,每 15 分钟触发一次,所以最后一个工作实际上是在 19:30(因为它不能在 19:35 之后)。我的问题是我不知道如何包含开始/结束时间的分钟数..

怎么可能创造出这种表达方式?

提前致谢。

4

2 回答 2

0

你不需要 CRON,简单的触发器就可以了。查看第 5 课:SimpleTrigger。这应该适用于您的情况:

trigger = newTrigger()
    .startAt(nineFifteen)
    .endAt(nineteenThirtyFive)
    .withSchedule(simpleSchedule().withIntervalInMinutes(15))
    .forJob(someJob)
    .build();
于 2013-01-17T17:48:11.413 回答
0

我认为不可能在单个 cron 表达式中满足您的要求,因为每个时间组件(小时/分钟/秒等)都是独立处理的。

也许最简单的方法是每 15 分钟运行一次触发器,并在 09:15 和 19:35 启用/禁用此触发器(例如,使用额外的触发器)。

或者,您可以每 15 分钟触发一次触发器,并在此触发器上附加程序逻辑,在执行任何工作之前检查当前时间是否在 09:15 和 19:35 之间。

于 2013-01-16T16:10:24.447 回答