-1
  uniqUsers = User.find(params[:userid]).events.where("comingfrom != ''").uniq_by {|obj| obj.comingfrom}

  uniqUsers.map do |elem|
     begin
       @tag = nil
       open('http://localhost:3000/search_dbs/show?userid='+ params[:userid] + '&fromnumber=' + elem.comingfrom + '&format=json', 'r', :read_timeout=>1) do |http|
         @tag = http.read
       end
     rescue  Exception => e
      puts "failes"
      puts e
     end
 end

こんにちは、これは私を夢中にさせています。何らかの理由で、open url コマンドがエラーなしで時間切れになっています。クロムで同じURLを試すと、すべてが魅力のように機能します.コードからこれを行うと、タイムアウト::エラーが発生します

4

1 に答える 1

0

1 秒は楽観的です。

スパイダーを作成していたとき、以前に試行された再試行の回数、URL、および最後のタイムアウト値を含むサブ配列またはオブジェクトを含む再試行キューを作成しました。増分タイムアウト値を使用して、最初は 1 秒、2 回目は 2 秒、4 秒、8 秒、16 秒というように、サイトが応答しないと判断するまで試行しました。

于 2013-01-23T23:07:36.840 に答える