Ruby 1.9.2を使用して、180,000以上のデータ行を取得するには、Webサービスへの呼び出しをたくさん行う必要があります。Webサービスへのバッチコールの作成と進行状況の保存
結果の総量を知る方法はありません。1日に150,000行、来週に200,000件になる可能性があるので、結果がゼロになるまでこれらの呼び出しをすべて一括して行う必要があります。
limit = 1000
offset = 0
@data = @client.get_data :limit => limit, :offset => offset
until @data.length.zero?
# save @data to database
offset += limit
@data = @client.get_data :limit => limit, :offset => offset
end
が、私が作って複数のスレッドを持っているしたいと思います:
は、今私は(私は目的を示すために、このようにそれを入れて、もちろん、これは実際のコードではない)このようなものを持っています呼び出しがタイムアウトしたときにデータを失わないように進行状況を呼び出して保存し、同じパラメータで呼び出しを再試行します。
ここでの主な問題は、どちらの場合でもResqueのようなものを使用し、すべてのデータを取得するのに必要なジョブを定義すると思いますが、そうでない場合は、結果が得られなくなるまでオフセット値を増やす必要があります。
提案がありますか?