我需要cron表达式来安排我的任务。任务执行应该每天上午11点开始,应该每分钟执行一次,直到晚上11点(最后一次执行时间)。
目前,我不知道如何设置最后一次执行应该是23:00。
* * 11-23 * * *
- 根据这个表达式,任务将在11:00至23:59之间运行。
* * 11-22 * * *
- 根据这个表达式,任务将在11:00至22:59之间运行。因此错过了23:00的最后一次执行。
请告诉我如何解决这个问题。
答案 0 :(得分:0)
我找到了解决问题的方法。解决方案是创建两个cron表达式:
0 * 11-22 * * *
- 这将于上午11点开始,并于22:59结束。
0 0 23 * * *
- 此任务每天仅在23:00开始。
所以,我的代码现在看起来像这样:
@Scheduled(cron = "0 * 11-22 * * *")
public void processPerformances() {
// do something();
}
@Scheduled(cron = "0 0 23 * * *")
public void processPerformancesLastTime() {
processPerformances();
}