Ошибка тайм-аута клиента Scala akka-http

У меня есть приложение Scala Play, которое использует Akka и запрашивает сервер REST. Ответ на запрос может занять много времени, и я получаю тайм-ауты:

"Сервер не смог своевременно ответить на ваш запрос. Пожалуйста, повторите попытку через некоторое время!"

Я попытался использовать Play WSClient и клиент kaka-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.


person Jim Collins    schedule 22.06.2016    source источник


Ответы (1)


Проблема была на стороне сервера, который также является приложением Akka. Я установил время ожидания подключения к серверу, и это решило проблему.

person Jim Collins    schedule 22.06.2016