Проблема: Пользователи нашего веб-приложения регулярно загружают файлы DOCX. Но этот тип файла не разрешен по независящим от нас причинам. Поэтому мы используем внешний сервис REST для преобразования этих файлов в PDF. Служба PDF предназначена для асинхронных вызовов:
- Сначала вы вызываете операцию преобразования с вашим файлом, и она возвращает идентификатор задачи.
- Затем вы вызываете операцию getTask с идентификатором задачи.
Возможно, задача еще не выполнена, поэтому вам придется вызвать еще раз позже - Когда задача будет выполнена (документ преобразовано) вы получаете идентификатор документа
После загрузки пользователь ожидает результата во внешнем интерфейсе, поэтому нам действительно необходимо синхронное преобразование. Мы продолжаем вызывать операцию getTask внутри цикла while, пока не получим идентификатор документа. Но мы получили письма от службы PDF с жалобами на то, что мы опрашиваем их слишком часто (10 раз в секунду) и что нам следует искать решение, чтобы уменьшить это.
Я добавил эту строку код внутри цикла while, чтобы между каждым опросом был 5-секундный интервал:
Код: Выделить всё
Thread.sleep(5000);Подробнее здесь: https://stackoverflow.com/questions/792 ... er-wl-12-2
Мобильная версия