¿Cómo manejar el tiempo de espera de respuesta?
En el enrutamiento akka-http puedo volverFuture
como una respuesta que se convierte implícitamente enToResponseMarshaller
.
¿Hay alguna manera de manejar el tiempo de espera de este futuro? O tiempo de espera de conexión en el nivel de ruta? O una forma es usarAwait()
¿función?
En este momento, el cliente puede esperar la respuesta para siempre.
complete {
val future = for {
response <- someIOFunc()
entity <- someOtherFunc()
} yield entity
future.onComplete({
case Success(result) =>
HttpResponse(entity = HttpEntity(MediaTypes.`text/xml`, result))
case Failure(result) =>
HttpResponse(entity = utils.getFault("fault"))
})
future
}