У меня есть API отдыха, который загружает файл в AWS и возвращает пользователю ответ об успешном завершении.Теперь у меня есть требование, где я должен публиковать данные загруженных данных в другой сервис для целей отчетности.Но проблема здесь в том, что размещение данных должно выполняться независимо без изменения времени ответа API.
, т. Е. После завершения загрузки я должен запустить фоновый процесс, который отправит данные в другой сервис.Между тем, ответ об успешном завершении должен быть отправлен пользователю без каких-либо задержек.
Я прошел через некоторые решения и попробовал что-то вроде следующего фрагмента:
if(uploadSuccess) {
response.setStatus(HttpsServletResponse.SC_OK);
//Post data to reporter
CompletableFuture.runAsync(() -> postUploadedData(fileName,
fileId));
}
При таком подходеЗадача выполняется в фоновом режиме, но ответ API удерживается до завершения передачи данных.
Есть ли другие способы, которыми я могу добиться этого?