在特定日期通过(Spring @Scheduled)运行作业

ahm*_*tin 4 java spring schedule

我有一个客户检查工作。我找不到如何自动将作业时间设置为仅在星期一,星期五和星期六的上午10点运行的方法。有没有可能使用Spring进行设置@Scheduled

ahm*_*tin 6

我找到了这样的解决方案:

@Scheduled(cron = "0 0 10 * * MON,FRI,SAT")
public void dailyScheduleJob() {
    /*
    your code here
    */
}
Run Code Online (Sandbox Code Playgroud)

此外,如果请求的日期是连续的,例如星期一至星期五(仅在工作日运行的作业),则此表达式较短:

@Scheduled(cron = "0 0 10 * * MON-FRI")
public void dailyScheduleJob() {
    /*
    your code here
    */
}
Run Code Online (Sandbox Code Playgroud)

也可以用17的数字表示天。在这种情况下,1将是SUN,7将是SAT,上面的相同cron作业可以这样写:

@Scheduled(cron = "0 0 10 * * 2-6")
public void dailyScheduleJob() {
    /*
    your code here
    */
}
Run Code Online (Sandbox Code Playgroud)