看到每五十分鐘執行一次,第一反應應該是
cron = "00 50 * * * ? "
其實不然,如此設定後我們會發現程序執行頻率為:
16:50:00
17:50:00
18:50:00
19:50:00
20:50:00
看起來每小時開始時都會重新計算時長。
下面直接給出解決方案:
隔50分鐘執行一次
50 * 6 = 300 = 5 h
由此可知需要添加6個cron表達式,間隔5個小時
@Scheduled(cron = "10 50 0/5 * * ?")
@Scheduled(cron = "10 40 1/5 * * ?")
@Scheduled(cron = "10 30 2/5 * * ?")
@Scheduled(cron = "10 20 3/5 * * ?")
@Scheduled(cron = "10 10 4/5 * * ?")
@Scheduled(cron = "10 00 5/5 * * ?")