SpringBoot 定时任务
问题:定时任务没有按照预设的cron表达式执行
说明:cron表达式 0/5 * * * * ? 每5秒钟执行一次
@Slf4j
@Configuration
@EnableScheduling
public class ScheduleTask {
@Scheduled(cron = "0/5 * * * * ? ")
private void configureTasks() {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
System.out.println("--------dateTimeStart = " + LocalDateTime.now().format(dateTimeFormatter));
// 模拟业务处理超时,耗时30s
try {
Thread.sleep(30 * 1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
执行的结果是每35秒执行一次,也就是 两次执行间的时间差为 预设的时间间隔5秒 + 业务处理的耗时时间30秒