2016-06-22 200 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應用程序。我已經設置了服務器連接超時並已解決該問題。