【发布时间】:2021-06-26 07:09:21
【问题描述】:
我有一个要求,我的调度程序必须在每天上午 9 点到下午 12 点之间每小时运行一次,然后分别在下午 3 点和下午 5 点运行一次。
如何使我的 CRON 表达式根据要求工作 到目前为止,我已经尝试过使用下面的 cron 表达式
@Scheduled(cron="0 0 9-12 * * *")
但从上午 9 点到下午 12 点每小时运行一次 我如何修改它以使其在下午 3 点和下午 5 点也运行一次。
我尝试过组合两个如下所示的 cron 表达式,但效果很好。
@Scheduled(cron="0 0 9-12 * * *, 0 0 3 * * *")
我可以通过 2 个@Scheduled 给出 2 个 cron 表达式,如下所示
@Scheduled(cron="0 0 9-12 * * *")
@Scheduled(cron="0 0 9-12 * * *")
public void myMethod() {}
这是一个可行的解决方案吗?
谁能帮我解决这个问题?
【问题讨论】:
-
使用多个注释或
@Scheduled(cron = " 0 0 9-12,15,17 * * *)之类的东西,后者应该也能正常工作 IIRC(否则只需使用多个可以工作的注释)。
标签: spring-boot cron scheduled-tasks job-scheduling spring-scheduled