我是 Spring 的新手。我正在尝试每小时运行一次 cron 作业,并且我正在使用
@Scheduled(cron="0 0/60 * * * ?")
这个的表达。那么工作什么时候开始呢?假设我是否在上午 10:03 部署了应用程序。 cron 作业是在下一个小时开始,即上午 11:00,还是首先在上午 10:03 开始,然后从下一个连续的时间开始,如 11:00、12:00 等等……?
实际上,我昨天部署了我的应用程序,但我没有看到 cron 作业在运行。我想弄清楚为什么它没有运行。同时,我只想澄清一下自己。
我已尝试按照文档进行操作,但我相信他们没有在文档中提及这一点:https://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html
最佳答案
它将在每小时 0 分(与 60 相同)0 秒(hh:00:00)执行。所以 "cron="0 0 * * * ?"
也可以。
值之间的/
定义了一个范围,所以"cron="0 30/45 * * * ?"
会在分钟为30然后15次时执行,直到 45 分钟过去。
如果根本没有执行 cron 作业,则似乎根本没有启动调度。您是否在配置中设置了 @EnableScheduling
注释?
要测试可用性,将其设置为 cron = "* * * * * ?"
(每秒)。
关于java - Spring Cron Job 什么时候会第一次执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45800148/