Я работаю над проектом Spring Webflux,
Я хочу сделать что-то вроде: Когда клиент делает вызов API, я хочу отправить сообщение об успешном выполнении клиенту и выполнить операцию с большим файлом в фоновом режиме.
Таким образом, клиенту не нужно ждать, пока весь мой файл будет обработан.
Для тестирования я сделал пример кода, как показано ниже
REST controller
@GetMapping(value = "/{jobId}/process")
@ApiOperation("Start import job")
public Mono<Integer> process(@PathVariable("jobId") long jobId) {
return service.process(jobId);
}
Файл Служба обработки
public Mono<Integer> process(Integer jobId) {
return repository
.findById(jobId)
.map(
job -> {
File file = new File("read.csv");
return processFile(file);
});
}
Вот мой стек
Spring Webflux 2.2.2.RELEASE
Я пытаюсь сделать этот вызов, используя WebClient, но пока весь файл не обработан Я не получаю ответ.
Может кто-нибудь, пожалуйста, помогите мне.
Спасибо
Alpe sh