记录贴:Springboot中的@Scheduled注解配置cron表达式

133 阅读1分钟

使用到springboot的定时调度使用到的注解@scheduled,但是不知道cron怎么配置,下面说说gpt的回答

@Scheduled(cron = "0 * * * * ?")表示每隔1分钟触发一次任务。cron表达式中的各个字段表示的含义如下:

  • 第一个字段表示秒数(0~59)
  • 第二个字段表示分钟数(0~59)
  • 第三个字段表示小时数(0~23)
  • 第四个字段表示日期天数(1~31)
  • 第五个字段表示月份(1~12 或 JAN-DEC)
  • 第六个字段表示星期几(0~7 或 SUN-SAT,其中 0 和 7 都表示星期日)
  • 第七个字段可选,表示年份(可为空,留空表示任意年份)

如果你想每10秒运行一次任务,可以使用以下的cron表达式:@Scheduled(cron = "0/10 * * * * ?")。这里的"/"符号表示每隔多少单位触发任务,将分钟字段设置为"0/10"表示每隔10秒钟触发一次。以下是一个示例:

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class MyScheduledTask {

    @Scheduled(cron = "0/10 * * * * ?")
    public void runTask() {
        // 每10秒执行一次任务的逻辑
        System.out.println("Running scheduled task every 10 seconds...");
    }
}
CopyCopy

这样配置后,任务将会每隔10秒执行一次。