我有以下游戏! 2 Action.async
控制器:
def complexAlgorithm(graphId: String) = Action.async { implicit request =>
val f = future {
val data = new ComplexAlgorithm(GraphContext.get(graphId))
data.evaluate
data
}
f.map { result => Ok(Json.generate(result.getRankings.toList.filterNot(o => o.rankScore == 0))) }
}
我意识到在某些情况下,这个计算实际上需要一个多小时。由于这将重新设计用于生产用途,我可以在浏览器中等待结果,因为它仍然会被记录。
所以我的问题是,如果浏览器请求被中断,val f
以上的未来会被杀死吗?比方说,如果互联网在等待响应时断开连接?或者它会实际完成计算(即使几小时后)?
谢谢!