2012-04-25 2 views

ответ

71

Если вы посмотрите на исходный код на 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 

Не очень полезно, возможно? Ну, если вы посмотрите на 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] 

Так Фарадея open_timeout эквивалентна Net :: HTTP-х open_timeout который документирован так:

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

И таймаут Фарадея эквивалентно Net :: HTTP-х read_timeout, которая описана как:

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

+1

Удивительный ответ, спасибо :). Да, я также натолкнулся на описание Фарадея, и да, это было не очень полезно. Но это действительно здорово :) –