2016-06-22 171 views
2

我有一个使用Akka并查询REST服务器的Scala Play应用程序。该请求可能需要很长时间才能做出响应,并且出现超时:Scala akka-http客户端超时错误

“服务器无法及时响应您的请求,请稍后重试!”

我已经尝试使用Play WSClient和卡卡-Http客户端,并得到相同的错误,我已经设置每个超时属性,我可以找到。

的WSClient注入演员,我把它称为,这是在我的演员

val resp = ws.url("myurl").withRequestTimeout(Duration.Inf).get() 
resp pipeTo self 

而且我想:

Http().singleRequest(HttpRequest(uri = "myurl")) 

再管这个自我,但仍超时。

在application.conf我已设置:

play.ws.timeout.connection = 3600 s 
play.ws.timeout.request = 3600 s 
play.ws.timeout.idle = 3600 s 
akka.http.server.idle-timeout = 3600 s 
akka.http.http-connection-pool.idle-timeout = 3600 s 
akka.http.http-connection-pool.client.idle-timeout = 3600 s 
akka.http.server.request-timeout = 3600 s 
akka.http.client.idle-timeout = 3600 s 
akka.http.client.connecting-timeout = 3600 s 

我不知道还有什么我能做的。我甚至试过

Await.resutl(rest, Duration.Inf) 

但是这没有帮助。如果任何人有任何想法,我可以尝试它将不胜感激。我正在使用Akka 2.4.4和Play 2.5.3。

回答

2

问题出在服务器端,也是一个Akka应用程序。我已经设置了服务器连接超时并已解决该问题。