2012-04-25 56 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相当于净:: HTTP的open_timeout其记录为:

等待连接打开的秒数。可以使用任何数字,包括小数秒的浮点数。如果HTTP对象在几秒钟内无法打开连接,则会引发TimeoutError异常。

和法拉第超时相当于净:: HTTP的read_timeout其被记录为:等待

的秒数为经由一个读取(读出一个块(2)呼叫)。可以使用任何数字,包括小数秒的浮点数。如果HTTP对象在这几秒钟内无法读取数据,则会引发TimeoutError异常。

+1

非常好的答案,谢谢:)。是的,我也遇到了法拉第的描述,是的,这不是很有帮助。但是这真的很棒:) – 2012-04-26 11:43:06