Запустите фоновый процесс независимо от основного потока выполнения - PullRequest
0 голосов
/ 25 октября 2018

У меня есть API отдыха, который загружает файл в AWS и возвращает пользователю ответ об успешном завершении.Теперь у меня есть требование, где я должен публиковать данные загруженных данных в другой сервис для целей отчетности.Но проблема здесь в том, что размещение данных должно выполняться независимо без изменения времени ответа API.

, т. Е. После завершения загрузки я должен запустить фоновый процесс, который отправит данные в другой сервис.Между тем, ответ об успешном завершении должен быть отправлен пользователю без каких-либо задержек.

Я прошел через некоторые решения и попробовал что-то вроде следующего фрагмента:

if(uploadSuccess) { 
  response.setStatus(HttpsServletResponse.SC_OK);
  //Post data to reporter
  CompletableFuture.runAsync(() -> postUploadedData(fileName, 
  fileId));
}

При таком подходеЗадача выполняется в фоновом режиме, но ответ API удерживается до завершения передачи данных.

Есть ли другие способы, которыми я могу добиться этого?

...