Ruby 2 で Net::HTTP::Post.new リクエストの読み取りタイムアウトを指定する方法 質問する

Ruby 2 で Net::HTTP::Post.new リクエストの読み取りタイムアウトを指定する方法 質問する

RubyスクリプトからRailsアプリケーションに投稿しています。スクリプトは変数requestを作成します。

request = Net::HTTP::Post.new(url.path)

これは次のように使用されます

request.content_type = "application/json"    
request.body =  JSON.generate( params )

response = Net::HTTP.start(url.host, url.port) {|http| http.request(request)}

サーバー側でかなり多くの処理が行われており、Net::ReadTimeoutエラーが発生しています

タイムアウト期間を指定しようとしました

request.read_timeout = 500

に従ってこのスタックオーバーフローの回答しかし、私は

undefined method `read_timeout=' for #<Net::HTTP::Post POST> (NoMethodError)

エラーです。どこかに簡単なことを見逃しているのだと思います。すべてのヒントをありがたく受け取りました

技術情報:

  • ルビー 2.0.0p247
  • レール4.0.0
  • Windows 7 32 ビット ルビー

ベストアンサー1

解決方法スタックオーバーフローの回答

私は変わった

response = Net::HTTP.start(url.host, url.port) {|http| http.request(request)}

線になる

response = Net::HTTP.start(url.host, url.port, :read_timeout => 500) {|http| http.request(request)}

そして、この問題は回避されたようです。

おすすめ記事