Асинхронна http модель
Асинхронна http модель — підхід, який дозволяє імітувати асинхронну роботу http протоколу.
Проблема[ред. | ред. код]
Необхідно дати відповідь на результат роботи довготривалого процесу при цьому не блокуючи запит клієнта.
Вирішення[ред. | ред. код]
Перевіряти стан процесу багатьма синхронними запитати допоки він не буде виконаний.
Опис[ред. | ред. код]
- Надсилаємо початковий синхронний http запит, який запускає довготривалий процес. API у відповідь надсилає статусний код 202 (Accepted) чи 400 (Bad Request) в залежності від результату. У відповіді також міститься посилання на адресу, за якою знаходиться статус операції.
- Адреса статусу повертає ті самі метадані допоки робота процесу не завершиться. Також сервер може надати інформацію про те як часто потрібно перевіряти статут, аби запобігти надлишковим запитам. Якщо довготривалий процес закінчився клієнт перенаправляється на адресу із результатом.
- Клієнт надсилає запит на отримання результату.
Посилання[ред. | ред. код]
- Asynchronous Request-Reply pattern [Архівовано 21 квітня 2020 у Wayback Machine.]