1

オフライン レポートを生成するには、Rails アプリで Google Charts API からグラフをダウンロードする必要があります。

問題:ほとんどの場合は正常に動作しますが、(ランダムに) 失敗して次のように表示されることがあります。getaddrinfo: Name or service not known

エラーが発生したら、生成を再起動するだけで、通常は成功します。
普通ですか?これを防ぐためのベストプラクティスはありますか?
再入可能なアルゴリズムか、より高度な方法でしょうか?

現在のコード:

require 'net/http'
  charts.each_with_index do |path, index|
    Net::HTTP.start("chart.googleapis.com") do |http|
    resp = http.get(path)
    open("tmp/charts/chart" + index.to_s + ".png" ,"wb") do |file|
        file.write(resp.body)
    end
  end
end
4

1 に答える 1

4

... どうやら、DNS メカニズムに過負荷をかけているようです。これを試して:

require 'net/http'
  Net::HTTP.start("chart.googleapis.com") do |http|
    charts.each_with_index do |path, index|
      resp = http.get(path)
      open("tmp/charts/chart" + index.to_s + ".png" ,"wb") do |file|
        file.write(resp.body)
      end
    end
  end
end
于 2011-09-29T08:05:39.083 に答える