Поскольку у Faraday нет документации, я не смог ее найти нигде. Что такое "тайм-аут" и какой "открытый тайм-аут" в Фарадее?
Что такое "тайм-аут" и "открытый тайм-аут" в Фарадее?
Ответ 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.