Я хотел бы периодически обновлять значение (используется позже) внутри http-сервера akka. Единственный найденный способ - использовать планировщик, но я не могу вернуть значение из этого.
Я пытался с планировщиком Акка, возможно, я должен использовать Future, но не понимаю, как.
Смысл в том, чтобы не перезапускать http-сервер при обновлении значения
def initializeWebServer(interface : String, port : Int) = {
system.scheduler.schedule(0 seconds, 10 seconds){
val result = /***/
}
val route: Route =
concat(
get{
path("getResult"){
complete(result)
}
}
)
val bindingFuture = Http().bindAndHandle(route, interface, port.toInt)
println(s"Server online at http://$interface:$port/")
CoordinatedShutdown(system).addJvmShutdownHook({
bindingFuture
.flatMap(_.unbind())
})
}
То, что я хотел бы, выглядит примерно так:
val result = schedule( 10 sec){do something and return result}