2016-08-22 283 views
1

我需要cron表達式來安排我的任務。任務執行應該每天早上11點開始,並且應該每分鐘執行一次直到晚上11點(最後執行時間)。Cron表達式在上午11點完成上午11點運行任務

目前,我不知道如何設置最後執行應該在23:00。

* * 11-23 * * * - 根據這個表達式,任務將在11:00到23:59之間運行。

* * 11-22 * * * - 根據這個表達式,任務將從11:00到22:59運行。所以錯過了23:00的最後一次執行。

請告訴我如何解決這個問題。

回答

0

我找到了解決此問題的方法。該解決方案是創建兩個cron表達式:

  1. 0 * 11-22 * * * - 這將在上午11時和結束開始以22點59分。

  2. 0 0 23 * * * - 此任務將在23:00每天僅啓動一次。

所以,我的代碼現在看起來是這樣的:

@Scheduled(cron = "0 * 11-22 * * *") 
    public void processPerformances() { 
    // do something(); 

    } 

    @Scheduled(cron = "0 0 23 * * *") 
    public void processPerformancesLastTime() { 
    processPerformances(); 
    } 
相關問題