Лучший способ проверить состояние теста каждые х минут?

В настоящее время я использую API, в котором отправляется тест по электронной почте, и примерно через 25 минут он заканчивается. Это время может варьироваться в зависимости от нагрузки на сервер (вызовы API передаются другой компании).

С помощью функции, которую мы разрабатываем, мы можем создавать около 1000 тестов в день, и мне было интересно, как эффективно проверить состояние каждого из этих тестов с помощью Java? Если бы я планировал задачу, я бы предположил, что это оставило бы поток в ожидании х минут, что не кажется очень масштабируемым.

1 ответ

Решение

Вы, вероятно, хотите использовать ScheduledThreadPoolExecutor класс

ThreadPoolExecutor который может дополнительно запланировать команды для запуска после заданной задержки или для периодического выполнения.

Гибкие функции:

  • Запланируйте несколько заданий, используя разные задержки.
  • Вы можете использовать удобный TimeUnit при планировании.
  • Возможность решить, сколько заданий можно выполнить одновременно.
  • Вам нужно только реализовать Runnable интерфейс (который определяет run метод).
  • Потоки используются повторно и создаются с использованием ThreadFactory (необязательный).

Более подробную информацию и примеры можно найти здесь.

Другие вопросы по тегам