Это отправляет (довольно) большое количество вызовов API к стороннему API для создания необходимых объектов в стороннем приложении, их выполнения, а затем возврата результатов в мое приложение.
Процесс занимает 5-30 секунд.
Я хочу, чтобы это отображало результаты в частичном виде (например, SQL IDE, например SSMS или TOAD или что-то еще - ввод вверху, возвращает результаты ниже). И я бы хотел, чтобы этот фрагмент обновлялся после каждого шага процесса и отображал пользователю статус задачи. В настоящее время приложение просто сидит и вращается, пока вся эта сложная и тяжелая бизнес-логика ввода-вывода не будет завершена, что приводит к ужасному пользовательскому опыту.
Итак, предположим, что с помощью стороннего API выполняются следующие шаги:
- создать виджет
- запустить виджет
- отслеживать состояние виджета
- По завершении вернуть окончательные результаты пользователю.
Как я могу повторно визуализировать частичный фрагмент всякий раз, когда одна из этих задач завершена? Должен ли он опрашивать сервер? И как мне опросить процесс, работающий на стороне сервера, без блокировки потока, пока не будут выполнены вышеуказанные шаги?
В настоящее время это не записывается в базу данных, и я хотел бы максимально исключить из этого базу данных из-за ограничений нагрузки.
Теперь я знаю о различных методах опроса действия (AJAX через jquery), в основном с использованием setinterval/timeout для вызовов действия контроллера и повторного рендеринга, но если в этом действии ссылаются на мои методы вызова API, он все равно просто ждет, пока все это не будет выполнено.
Есть мысли?
Подробнее здесь: https://stackoverflow.com/questions/176 ... -api-calls
Мобильная версия