- blogs:
- cles::blog
2009/08/10

RubyでデフォルトのHTTPタイムアウトをのばす

時間がかかる処理をnet/httpを使って投げるとタイムアウト例外が発生してしまうので、デフォルトのタイムアウト値を変更する事ができないかと思ったら、こんな裏技的な方法があったとは。これはRubyがオープンクラスだからできる芸当だよなぁ。
Ruby で HTTP のタイムアウト秒数を延ばす :【脱獄逃亡中】
これを 120秒 に変えたい場合、以下のようにすると出来るようだ。
class Net::HTTP def initialize_new(address, port = nil) initialize_old(address, port) @read_timeout = 120 end alias :initialize_old :initialize alias :initialize :initialize_new end
net/httpはこれ以外にも例外のハンドリング*1でもハマりやすかったりとちょっとクセがあるので要注意です。
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/3154
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
とおりすがり
(2009/08/13 19:14)
<%HatenaAuth()%>
おもしろいけど、そもそもその辺を自由に設定できるクラスメソッドなりインスタンスメソッドなりがあるべきだよなー。
hsur
(2009/08/13 19:17)
<%HatenaAuth()%>
そうなんですよねぇ。
本当はこんなトリッキーなことしなくて済めばベストなんですけど。
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . アーロンチェアのポスチャーフィットを修理(111984)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110617)
3 . 年次の人間ドックへ(110248)
4 . 2023 年分の確定申告完了!(1つめ)(109790)
5 . 三菱鉛筆がラミーを買収(109689)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110617)
3 . 年次の人間ドックへ(110248)
4 . 2023 年分の確定申告完了!(1つめ)(109790)
5 . 三菱鉛筆がラミーを買収(109689)
cles::blogについて
Referrers