我在 digitalocean 上托管了一个 ruby on rails webapp,它通过 mongoID 将其数据存储在 mongo db 上。
我正在通过 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 的事务或问题有关吗?