私は、mongoID を介して mongo db にデータを保存する digitalocean でホストされている ruby on rails webapp を持っています。
sidekiq ワーカーの共通 API を介してデータをインポートしていますが、次のようなオブジェクトを作成しようとしています。
array_of_consumptions = API.consumptions(id)
array_of_consumptions.each do |d|
user.array_of_consumptions << d
end
このデータは開発時にローカルに保存できますが、本番環境ではランダムな動作になります。たとえば、1000 個の消費をインポートすると、Web アプリはおそらく 20 個しか保存せず、問題を報告するログはありません。
この問題はsidekiqに関連していると思った(ローカルでも問題なく動作する)ので、resqueのような別のものに切り替えましたが、問題は残りました。保存されたオブジェクトの検証を確認すると、「保存」後にすべて有効になります。
これは、mongodb への接続に関するトランザクションまたは問題に関連している可能性がありますか?