Лучший способ проверить состояние теста каждые х минут?
В настоящее время я использую API, в котором отправляется тест по электронной почте, и примерно через 25 минут он заканчивается. Это время может варьироваться в зависимости от нагрузки на сервер (вызовы API передаются другой компании).
С помощью функции, которую мы разрабатываем, мы можем создавать около 1000 тестов в день, и мне было интересно, как эффективно проверить состояние каждого из этих тестов с помощью Java? Если бы я планировал задачу, я бы предположил, что это оставило бы поток в ожидании х минут, что не кажется очень масштабируемым.
1 ответ
Вы, вероятно, хотите использовать ScheduledThreadPoolExecutor
класс
ThreadPoolExecutor
который может дополнительно запланировать команды для запуска после заданной задержки или для периодического выполнения.
Гибкие функции:
- Запланируйте несколько заданий, используя разные задержки.
- Вы можете использовать удобный
TimeUnit
при планировании. - Возможность решить, сколько заданий можно выполнить одновременно.
- Вам нужно только реализовать
Runnable
интерфейс (который определяетrun
метод). - Потоки используются повторно и создаются с использованием
ThreadFactory
(необязательный).
Более подробную информацию и примеры можно найти здесь.