【问题标题】:Futures Timeout Exception crashes the Platform期货超时异常使平台崩溃
【发布时间】:2018-01-19 12:46:54
【问题描述】:

从数据库读取数据时,我们在 playframework 中使用期货。它会在 700 毫秒后超时。但是,有时它会抛出超时异常并导致整个平台崩溃。

从数据库中读取数据时,我们应该增加超时时间还是不使用future?

【问题讨论】:

  • “杀死平台”是什么意思?在您的日志中,我们只能看到异常被播放框架捕获。您显示的超时时间也是700 ms,而在日志中,它被指示为10 seconds。在另一个层面上,使用Await.result 是一种不好的做法,您应该在此处返回Future
  • 我重新表述了这个问题。您能告诉我如何返回 Future 吗?

标签: scala playframework


【解决方案1】:

您应该删除函数中的Await.result 部分。函数的签名将变为:

def getUser(...): Future[User]

然后,您必须相应地修改代码库中受影响的部分。

【讨论】:

    猜你喜欢
    • 2012-12-27
    • 2013-08-15
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多