У меня есть задание, которое по расписанию запускается каждый час и использует bean-компонент Spring ThreadPoolTaskExecutor
для одновременных вызовов (около 100 вызовов в час) на внешний API.
@Bean
public TaskExecutor getExecutor() {
ThreadPoolTaskExecutor threadPoolTaskExecutor = new ThreadPoolTaskExecutor();
threadPoolTaskExecutor.setCorePoolSize(10);
threadPoolTaskExecutor.setMaxPoolSize(20);
return threadPoolTaskExecutor;
}
Теперь внешний API ограничил количество запросов и разрешает один запрос в 30 секунд. Мне придется подождать 30 секунд перед каждым звонком.
В этом случае, я вижу, использование ThreadPoolTaskExecutor
больше не помогает. Будет ли ThreadPoolTaskScheduler
с настройкой фиксированной задержки работать?
Каков наилучший способ обработки такого типа регулирования API? Пожалуйста, помогите
Я на Java 8, Spring Boot 2.0.1, если это помогает