Qu'est-ce que "timeout" et "ouvrir le timeout" dans Faraday?
Puisque Faraday n'a pas de documentation, Je n'ai pas pu le trouver n'importe où. Qu'est-ce que "timeout" et quel "open timeout" dans Faraday?
1 réponses
Si vous regardez le code source à https://github.com/lostisland/faraday/blob/master/lib/faraday/request.rb alors vous verrez:
# :timeout - open/read timeout Integer in seconds
# :open_timeout - read timeout Integer in seconds
Pas très utile, peut-être? Eh bien, si vous regardez L'adaptateur Net::HTTP de Faraday à https://github.com/lostisland/faraday/blob/master/lib/faraday/adapter/net_http.rb , vous verrez:
http.read_timeout = http.open_timeout = req[:timeout] if req[:timeout]
http.open_timeout = req[:open_timeout] if req[:open_timeout]
Jusqu'à présent, open_timeout {[12] } est équivalent à Net::HTTP open_timeout {[12] } qui est documenté comme:
Nombre de secondes pour attendre l'ouverture de la connexion. N'importe quel nombre peut être utilisé, y compris les flotteurs pour les fractions de secondes. Si L'objet HTTP ne peut pas ouvrir une connexion pendant autant de secondes, il déclenche une exception TimeoutError.
Et Faraday timeout {[12] } est équivalent à Net::HTTP read_timeout {[12] } qui est documenté comme:
Nombre de secondes pour attendre qu'un bloc soit lu (via un appel read(2)). N'importe quel nombre peut être utilisé, y compris les flotteurs pour secondes fractionnaires. Si L'objet HTTP ne peut pas lire les données pendant autant de secondes, il déclenche une exception TimeoutError.