当前位置: 首页 > 知识库问答 >
问题:

单个Cron表达式在FRI上每5分钟运行14:30到15:30之间的计划任务

高晋
2023-03-14

是否可以在周五14:30至15:30之间每5分钟运行一次计划任务

如果没有,那么在Spring boot 2中使用或不使用Cron实现这一点的最佳方法是什么?

注意:我已经提出了以下方法,但是它有两个调度程序。

调度程序1:0 30-59/5 14?*FRI,SAT*

调度器2:<代码>0 0-30/5 15?*周五、周六*

共有1个答案

欧阳俊捷
2023-03-14

这应该在Spring5.3起作用https://spring.io/blog/2020/11/10/new-in-spring-5-3-improved-cron-expressions.

已编辑1:将秒更改为0

@Scheduled("0 30/5 14-15 * * FRI-SAT")
public void run(){
  ...
}

编辑2:

@Configuration
@RequiredArgsConstructor
public class SchedulerConfig {

  private final TaskScheduler taskScheduler;
  private final MyService myService;

  @Bean
  public ApplicationRunner runner() {
    return args -> {
      taskScheduler.schedule(myService::run, new CronTrigger("0 30-59/5 14 ? * FRI,SAT *"));
      taskScheduler.schedule(myService::run, new CronTrigger("0 0-30/5 15 ? * FRI,SAT *"));
  }
}

 类似资料: