Подтвердить что ты не робот

Что такое "тайм-аут" и "открытый тайм-аут" в Фарадее?

Поскольку у Faraday нет документации, я не смог ее найти нигде. Что такое "тайм-аут" и какой "открытый тайм-аут" в Фарадее?

4b9b3361

Ответ 1

Если вы посмотрите на исходный код https://github.com/lostisland/faraday/blob/master/lib/faraday/request.rb, вы увидите:

#   :timeout      - open/read timeout Integer in seconds
#   :open_timeout - read timeout Integer in seconds

Не очень полезно, может быть? Ну, если вы посмотрите на адаптер Faraday Net:: HTTP на https://github.com/lostisland/faraday/blob/master/lib/faraday/adapter/net_http.rb, вы увидите:

http.read_timeout = http.open_timeout = req[:timeout] if req[:timeout]
http.open_timeout = req[:open_timeout]                if req[:open_timeout]

Итак, Faraday open_timeout эквивалентен Net:: HTTP open_timeout, который документируется как:

Количество секунд ожидания подключения. Может использоваться любое число, включая Floats для дробных секунд. Если HTTP-объект не может открыть соединение за это несколько секунд, он вызывает исключение TimeoutError.

И Faraday таймаут эквивалентен Net:: HTTP read_timeout, который документируется как:

Число секунд ожидания чтения одного блока (через один вызов (2)). Может использоваться любое число, включая Floats для дробных секунд. Если HTTP-объект не может прочитать данные за это много секунд, он вызывает исключение TimeoutError.