0

jsonをAPIからハッシュに解析するrakeタスクを作成しました。

関連するコードは

uri = URI.parse(url)

JSON.parse(uri.open.read)

このrakeタスクを実行すると、「ファイルの終わりに達しました」というエラーが発生することがあります。これは、何らかの理由でタイムアウトまたは接続が閉じていることを前提としています。jsonが欠陥なく解析される場合もあれば、このエラーが発生する場合もあります。

別の/より安全なアプローチがあるのか​​、それともparse_urlが正常に完了するまで解析を試み続ける方法があるのか​​疑問に思います。

ありがとう!

私はruby1.9.2-p320とRails3.2.6を使用しています

4

1 に答える 1

2

JSON.parse の周りに begin/rescue をスローし、再試行を使用して解決しました

begin
  return JSON.parse(uri.open.read)
rescue Exception => e
  puts e.message
  puts "retrying.."
  retry
end
于 2012-07-31T18:52:41.597 に答える