У меня есть планировщики в приложении весенней загрузки, если какой-либо один планировщик тратит время на выполнение процесса, а оставшийся планировщик не будет работать в указанное время или после указанного интервала времени c.
@Component
public class ScheduledTask(){
@Scheduled(cron ="0 00 01 1/1 * ? ")
public void method1(){
//process 1 do something.
}
@Scheduled(initialDelay =5000, fixedRate=900000)
public void method2(){
//process 2 do something.
}
@Scheduled(cron ="0 10 00 1/1 * ? ")
public void method3(){
//process 3 do something.
}
@Scheduled(cron ="0 10 00 1/1 * ? ")
public void method4(){
//process 4 do something.
}
@Scheduled(initialDelay =5000, fixedRate=900000)
public void method5(){
//process 5 do something.
}
}
Объяснение: method5 & method2 работают каждые 15 минут. Но предположим, что если мой метод 5 требует больше времени для обработки, тогда мой планировщик (метод 2) не запустится в следующие 15 минут. Точно так же, если мой метод 5 отнимает слишком много времени для обработки и если наступает время планирования метода method1 и method4 (здесь, например, 1AM), но все же эти планировщики не будут работать в это время.
Пожалуйста, дайте я знаю, что делать, чтобы планировщики работали без сбоев.