亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何為多個會話實現一個 cron 作業,每個會話都有自己的間隔

如何為多個會話實現一個 cron 作業,每個會話都有自己的間隔

夢里花落0921 2023-05-24 15:15:20
我想利用 spring cron 注釋在每天三個不同的會話中的特定時間間隔內每分鐘運行一次特定服務。例如:第一節:上午 8:15 - 下午 12:36,第二節:中午 12:40 - 下午 3:11,第三節:下午 3:20 - 下午 4:35。如何為這個特定示例設置 cron 表達式?我已經在 Oracle 文檔中檢查過這個,這是我遇到的最接近的實現"0 0/5 14,18 * * ? 從下午 2:00 開始到下午 2:55 結束,每 5 分鐘觸發一次,從下午 6:00 開始到下午 6:55 結束,每 5 分鐘觸發一次,每天“不同時間和不同會話之間的間隔沒有實例@Scheduled(cron = "0 29-35 11,12 * * ?") public static void testCron() {   DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");   Date date = new Date();    System.out.println("testing cron per minute " + dateFormat.format(date)); }從上面的測試代碼來看,它會在 11:29 和 11:35 之間打印評論,但不會在 11:35 之后打印評論。下一個打印輸出是從 12:29 開始,依此類推。
查看完整描述

2 回答

?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊


為此,您可以使用多個@Scheduled注釋來注釋您的方法,同時提高議程的可讀性和豐富性。


@Scheduled(cron = "0 15-36 8-12 * * ?")

@Scheduled(cron = "0 40-11 12-15 * * ?")

@Scheduled(cron = "0 20-35 15-16 * * ?")

?public static void testCron() {

? ?DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

? ?Date date = new Date();?

? ?System.out.println("testing cron per minute " + dateFormat.format(date)); }



查看完整回答
反對 回復 2023-05-24
?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

您可以使用以下表達式:

@Scheduled(cron = "0 1-2 * * * *", fixedRate = 5000)

具有此表達式的方法從 01:00 到 02:00 每 5 分鐘運行一次。修改此表達式并將其用于兩種不同的方法。每個人都應該調用您的 testCron 方法


查看完整回答
反對 回復 2023-05-24
  • 2 回答
  • 0 關注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號