У меня есть функция, которая делает кучу вещей и в конечном итоге возвращает Mono
.
Если у меня есть такой обработчик:
fun handleSomething(request: ServerRequest): Mono<ServerResponse> {
return longRunningMethod().flatMap {
ServerResponse.ok.build()
}
}
Это сработает, но не вернет ответ, пока не завершит длительный метод.
Вместо этого я хотел бы запустить метод длительного запуска, но немедленно вернуть ответ, что-то вроде этого:
fun handleSomething(request: ServerRequest): Mono<ServerResponse> {
longRunningMethod()
return ServerResponse.ok.build()
}
Проблема в том, что как только ответ отправлен (что в основном происходит сразу), кажется, что он просто прерывает longRunningMethod()
.
Есть ли способ сохранить longRunningMethod()
работающим до его фактического завершения, даже если запрос завершен?