簡體   English   中英

如何更改 di job CRON 表達式以便每周運行兩次 Spring Batch 作業?

[英]How can I change di job CRON expression in order to run my Spring Batch job twice a week?

在我正在處理的 Spring 批處理應用程序中,我以這種方式安排了一份工作:

@Scheduled(cron = "0 30 01 * * 7")
public void runUpdateNotaryListInfoJob() {
    LOGGER.info("SCHEDULED run of updateNotaryListInfoJob STARTED");
    Map<String, JobParameter> confMap = new HashMap<>();
    confMap.put("time", new JobParameter(System.currentTimeMillis()));
    JobParameters jobParameters = new JobParameters(confMap);
    try {
        jobLauncher.run(updateNotaryListInfoJob, jobParameters);
    }catch (Exception ex){
        LOGGER.error(ex.getMessage());
    }
}

這工作正常,我的工作每周日(第 7 天)晚上 01:30 運行。 好的,但現在我的客戶要求我在一周內運行兩次(同一時間但在兩個不同的日子)。 是否可以更改以前的 CRON 表達式,以便我的工作在每周三和每周日的 01:30 執行?

cron = "0 30 01 * * 3,7"這樣的計划每星期的第 3 天和第 7 天觸發一次。

您可以使用以下0 30 1? * SUN,WED * 0 30 1? * SUN,WED *當一些開發人員在代碼中看到它時,這將更容易閱讀和理解。

每周日和每周三上午 01:30 運行

您可以在此處對其進行驗證或進一步修改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM