Spring调度程序:从下午12:25开始,每隔15分钟运行一次

时间:2017-11-17 11:31:52

标签: java spring-boot scheduler

我有2个服务器,并在两个调度程序运行中: 1)主服务器 2)灾难恢复服务器

我希望Fist调度程序在12:15运行,在12:15之后它应该每15分钟运行一次。 第二个调度程序在12:25开始运行,之后每隔15分钟运行一次。

所以两者都不会相互碰撞。

1 个答案:

答案 0 :(得分:2)

很遗憾,您无法使用@Scheduled(initialDelay = X, fixedDelay = Y, fixedRate = 15 * 60 * 1000)或使用 CRON 表达式对下午12:25开始,然后每15分钟进行编码。

幸运的是,您只需要在每小时,每小时,每天,每年的25(或15)分钟开始每15分钟编码

使用我们的在线cron表达式生成器(请注意下面围绕5,6或7个字段cron表达式的讨论):

从小时起25分钟开始每15分钟

@Scheduled(cron="0 25/15 * ? * *") 从{小时15分钟开始,每15分钟@Scheduled(cron="0 15/15 * ? * *")

请不要忘记配置中的@EnableScheduling注释。

* cron表达式讨论*

请注意,cron表达式可以按照crontab有5个(没有秒),Spring说它支持,但是它失败了5,6(秒和几个月的日期),这是在我的原油测试中,只支持选项,或7个字段(秒,星期几和星期几)。 Spring拒绝了最初粘贴的7字段表达;我已经测试了6并且它正常工作(但是几天和几年都是星星,即所有