私は、平均して4000-5000レコードを挿入しています。すべてのレコードが追加されるまで、挿入要求は平均して1ミリ秒以内に送信されます。インポート全体が1つのトランザクションでラップされます。ジョブは次のエラーで失敗します。Too Many Requests ActiveRecord
ActionView::Template::Error (Failed. Response code = 429. Response message = Too Many Requests.):
エラーを私のmodel.createステートメントにトレースしました。 ActiveRecordを使用して複数のレコードを一度に挿入する方法がないことを知っています。そのため、短時間で要求できる量を増やすことは可能ですか?または、一度に複数のレコードを挿入するために宝石を使用する必要がありますか?すなわちactiverecord-import
私はActionView :: Template :: Errorをキャッチして再試行する前に数秒間バックアップしたのかどうか確信していますが、これを行う方法は他にありますか?
あなたが実際に解決しようとしている課題についていくつか詳しく説明できますか? 1回のリクエストで4000レコードを挿入する必要があるのはなぜですか? – max
このインポートはしばらくの間しか実行されません。基本的には、外部APIから大量のレコードを取得し、データベースに保存します。外部APIのデータはページに入っていますが、現在はすべてのページを取得して一括して保存しているため、アトミックです。 – user6689604
このような作業を頻繁に行う場合は、一括挿入ツールを使用することをおすすめします。 – tadman