【发布时间】:2011-03-27 04:38:17
【问题描述】:
我正在使用 Spring 使用 Quartz 调度程序。我想使用以下时间表进行相同的配置:
从现在开始每 10 分钟运行一次作业
我正在使用以下表达式。
0 */10 * * * ?
我认为分钟字段中的 * 会使其在第一分钟运行,但事实并非如此。它从现在开始的前 10 分钟运行一次,之后每隔 10 分钟运行一次。 任何人都可以建议我这种行为的原因以及我的问题的解决方案吗?
【问题讨论】:
标签: cron
我正在使用 Spring 使用 Quartz 调度程序。我想使用以下时间表进行相同的配置:
从现在开始每 10 分钟运行一次作业
我正在使用以下表达式。
0 */10 * * * ?
我认为分钟字段中的 * 会使其在第一分钟运行,但事实并非如此。它从现在开始的前 10 分钟运行一次,之后每隔 10 分钟运行一次。 任何人都可以建议我这种行为的原因以及我的问题的解决方案吗?
【问题讨论】:
标签: cron
0 0/10 * 1/1 * ? *
【讨论】:
检查您现在的时间并将它们作为列表添加到您的 crontrigger。如果您在第 12 分钟启动触发器,例如添加
0 2,12,22,32,42,52 * * * ?
作为你的 cron 表达式
编辑:
另一种解决方案是定义一个每十分钟重复一次的简单触发器
SimpleTrigger trigger = new SimpleTrigger("myTrigger",
null,
new Date(),
null,
SimpleTrigger.REPEAT_INDEFINITELY,
10L * 60L * 1000L);
【讨论】:
你可以使用类似的东西
0 1-59/10 * * * ?
这将在任何一分钟和之后的 10 分钟触发作业。我没试过,但看起来不错。 :)
【讨论】:
*/10 * * * *
从您创建 cron 作业的那一刻开始,每 10 分钟一次,无论您喜欢什么(用户 crontab、/etc/cron.d/、...)。
【讨论】: