玩吧! 2 Action.async请求在中断时在后台杀死未来?

时间:2014-09-25 19:16:17

标签: scala asynchronous playframework playframework-2.0 future

我有以下游戏! 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以上的未来会被杀死吗?比方说,如果互联网在等待响应时断开连接?或者它会实际完成计算(即使几小时后)?

谢谢!

0 个答案:

没有答案