У меня есть приложение 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.