У нас есть служба REST, которая вызывает системный процесс, который может занять до 2 минут. Поскольку на клиентах я не хочу ждать ответа от сервера от 30 секунд до 2 минут, могу ли я вернуть клиенту 202, чтобы сообщить, что он обрабатывается, но не обязательно ждать, пока процесс закончить?
Есть ли безопасный способ справиться с этим? (Я уверен, что здесь есть проблемы с безопасностью потоков, особенно если сервис может столкнуться с тоннами запросов одновременно, поэтому создание тонн потоков может не быть решением.)
Что-то, что мы исследуем, использует пакетную обработку, которая проверяет каждые 5 минут или около того, чтобы проверять базу данных на наличие отчетов, которые должны быть сгенерированы (для этого и предназначен системный процесс), но мне было любопытно по поводу этой возможности.
Заранее спасибо
EDIT
Конечный продукт - это отчет в формате PDF, который генерируется, а затем отправляется пользователю по электронной почте. В основном я пытаюсь обойти необходимость ждать ~ 2 минуты ожидания ответа службы на клиенте-потребителе.