В нашем проекте мы используем Spring Boot 2.1.3. Пожалуйста, для задания планировщика мы использовали @Scheduled на уровне метода.
@Scheduled(fixedRate = 1000)
public void fixedRateSchedule() {
System.out.println(
"Fixed rate task - " + System.currentTimeMillis() / 1000);
}
Фиксированная ставка не ожидает выполнения предыдущего задания.
@Scheduled(fixedDelay = 1000)
public void fixedDelaySchedule() {
System.out.println(
"Fixed delay task - " + System.currentTimeMillis() / 1000);
}
Задача fixedDelay, всегда ожидает завершения предыдущего.
@Scheduled(cron = "0 0/5 * * * ?")
public void fixedDelaySchedule() {
System.out.println(
"cron task - " + System.currentTimeMillis() / 1000);
}
Вышеупомянутый cron будет выполняться каждые пять минут, мой вопрос: будет ли @scheduled cron ждать завершения предыдущего задания, прежде чем запускать следующее задание, или нет?