Cron:仅在第一个N天执行工作

时间:2017-11-27 05:32:30

标签: spring cron

我已经实现了一个调度程序作业,只需要在前N天执行。是否有可能使任何特定的cron表达式实现此功能?

通常情况下,我使用 http://www.cronmaker.com/ 。但是,看起来,这种cron表达式不支持该工具。

有人可以提供你的想法吗?

1 个答案:

答案 0 :(得分:2)

使用类似的东西:

@Scheduled(cron="0 0 17 1-5 1/1 ? ")

此cron表达式将在每个月的下午5点执行1到5天。 (您可以指定当天运行该作业的时间。)

下面是示例弹簧引导类,您可以通过它来验证解决方案。

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;

@SpringBootApplication
@EnableScheduling
public class SchedulerApplication {

    public static void main(String[] args) {
        SpringApplication.run(SchedulerApplication.class, args);
    }

    @Scheduled(cron="0 0 17 1-5 1/1 ? ")
    public void sampleScheduled() {

        System.out.println("Just testing the scheduler");
    }
}