由于法拉第没有文件,我无法在任何地方找到它。什么是“超时”以及法拉第中的“开启超时”?
答案 0 :(得分:80)
如果您查看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
也许不是很有帮助?好吧,如果你在https://github.com/lostisland/faraday/blob/master/lib/faraday/adapter/net_http.rb查看法拉第的Net :: HTTP适配器,你会看到:
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 ,记录为:
等待连接打开的秒数。可以使用任何数字,包括小数秒的浮点数。如果HTTP对象在这么多秒内无法打开连接,则会引发TimeoutError异常。
法拉第的超时相当于Net :: HTTP的 read_timeout ,其记录为:
等待读取一个块的秒数(通过一次读取(2)调用)。可以使用任何数字,包括小数秒的浮点数。如果HTTP对象在这么多秒内无法读取数据,则会引发TimeoutError异常。