38

ファラデーにはドキュメントがないので、どこにも見つけることができませんでした。ファラデーの「タイムアウト」と「オープンタイムアウト」とは何ですか?

4

1 に答える 1

103

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でFaradayの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と同等であり、次のように文書化されています。

1つのブロックが読み取られるのを待機する秒数(1回のread(2)呼び出しを介して)。分数秒のフロートを含め、任意の数を使用できます。HTTPオブジェクトがこの秒数でデータを読み取れない場合、TimeoutError例外が発生します。

于 2012-04-25T21:02:16.707 に答える