Оптимальный интервал для проверки существования файла, если для создания файла может потребоваться различное время
TL;DR Как выбрать оптимальный интервал проверок, чтобы увидеть, завершен ли определенный процесс в зависимости от времени, которое требуется для завершения процесса?
Есть FTP-сервер, который хранит документы, и есть приложение, которое отправляет запрос на создание документа и начинает проверять, сгенерирован ли документ (какое-то другое приложение генерирует документ). Затем он загружает документ с сервера.
Чтобы выполнить проверку, приложение открывает соединение с FTP-сервером, проверяет, содержит ли каталог необходимый файл, и закрывает соединение. Он загружает файл, если он там есть, или, в противном случае, ожидает указанный интервал времени, чтобы проверить снова. Проверка занимает 4-5 секунд.
Есть более ста разных документов. Каждый запрос ожидает только один из документов в результате. Для создания определенного документа может потребоваться от 5 минут до 1 часа, но для создания большинства документов требуется около 15 минут.
Есть некоторые приоритеты, например, как можно меньше открытых соединений и как можно меньше времени тратить после того, как "выходные данные" сгенерированы, прежде чем выяснить, что их можно загрузить.
Какой оптимальный интервал для приложения, чтобы проверить, если документ уже создан и существует на сервере?
Стоит ли проводить ручную проверку (хотя бы один раз для каждого из документов) и сохранять расчетную продолжительность, а затем использовать эту продолжительность для вычисления интервала?
Должен ли я просто указать значение интервала на основе минимального времени, которое требуется на создание какого-либо документа (5 минут в этом примере)?