Настройки таймаута HttpClient Akka - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь внедрить HTTP-клиент в моем приложении Akka для использования стороннего API. Я пытаюсь настроить время ожидания и количество повторных попыток в случае сбоя. Является ли приведенный ниже код правильным подходом для этого?

val timeoutSettings =
  ConnectionPoolSettings(config).withIdleTimeout(10 minutes)
  .withMaxConnections(3)

val responseFuture: Future[HttpResponse] =
  Http().singleRequest(
    HttpRequest(
      uri = "https://api.com"
    ),
    timeoutSettings
  )

1 Ответ

0 голосов
/ 29 марта 2019

Это неправильный подход (ниже я обращаюсь к настройкам через файл .conf, а не к программному подходу, но это должно легко соответствовать).

idle-timeout соответствует

время, после которого пул свободных соединений (без ожидающих запросов) автоматически прекратит себя

на уровне пула и на уровне akka.http.client до

Время, после которого незанятое соединение будет автоматически закрыто.

Так что вы бы предпочли настройку connection-timeout.

А для повторных попыток - max-retries. Значение max-connections:

Максимальное количество параллельных соединений, которые пул соединений с одной конечной точке хоста разрешено устанавливать

См. официальную документацию

...