Spring Boot 调度程序 Cron 结束 运行
SpringBoot Scheduler Cron over running
有没有专家在使用springboot scheduler时遇到问题
试图将它设置为 运行 在工作日的下午 2 点到晚上 10 点之间每隔 15 分钟/每小时,但它似乎是按分钟触发的,是因为我的 cron 是错误的还是我应该做 smthg 来控制它?
running in linux server via springboot-web-started
@Scheduled(cron = "0 15 14-22 * * MON-FRI")
private void fireDownload() {
log.info("fireDownload");
this.jmsXXXX.run(Constants.XXXX);
}
版本
spring-boot 2.4.2
java 11
请试试这个
@Scheduled(cron = "0 */15 14-22 * * MON-FRI")
你在评论中说这不起作用,所以让我们用每 5 分钟触发一次的简单概念验证来测试它
@Scheduled(cron = "0 */5 8-22 * * MON-FRI")
private void cronPOC() {
log.info("cronPOC triggered by cron");
}
下面的屏幕截图显示 POC 确实有效。
在我们进行测试的同时,让我们将上面评论中的@GerbenJongerius 建议也加入到测试中(为了加快速度进行一些微小的更改)。
@Scheduled(cron = "0 0/5 8-22 ? * MON-FRI")
private void cronPOC() {
log.info("cronPOC triggered by cron v2");
}
...这也有效
一些 Spring cron 示例,此处有解释:
有没有专家在使用springboot scheduler时遇到问题
试图将它设置为 运行 在工作日的下午 2 点到晚上 10 点之间每隔 15 分钟/每小时,但它似乎是按分钟触发的,是因为我的 cron 是错误的还是我应该做 smthg 来控制它?
running in linux server via springboot-web-started
@Scheduled(cron = "0 15 14-22 * * MON-FRI")
private void fireDownload() {
log.info("fireDownload");
this.jmsXXXX.run(Constants.XXXX);
}
版本
spring-boot 2.4.2 java 11
请试试这个
@Scheduled(cron = "0 */15 14-22 * * MON-FRI")
你在评论中说这不起作用,所以让我们用每 5 分钟触发一次的简单概念验证来测试它
@Scheduled(cron = "0 */5 8-22 * * MON-FRI")
private void cronPOC() {
log.info("cronPOC triggered by cron");
}
下面的屏幕截图显示 POC 确实有效。
在我们进行测试的同时,让我们将上面评论中的@GerbenJongerius 建议也加入到测试中(为了加快速度进行一些微小的更改)。
@Scheduled(cron = "0 0/5 8-22 ? * MON-FRI")
private void cronPOC() {
log.info("cronPOC triggered by cron v2");
}
...这也有效
一些 Spring cron 示例,此处有解释: