我在digitalocean托管的rails webapp上有一个ruby,它通过mongoID将数据存储在mongo db上。
我通过sidekiq worker上的公共API导入一些数据,但后来我尝试创建一个像这样的对象:
array_of_consumptions = API.consumptions(id)
array_of_consumptions.each do |d|
user.array_of_consumptions << d
end
我可以在本地保存这些数据,但它在生产中有随机行为。例如,如果我导入1000次消耗,我的网络应用程序可能只会节省20次,并且没有日志报告问题。
我认为这个问题与sidekiq有关(即使在本地工作也好)所以我把它换成了另一个像resque,但问题仍然存在。我检查了保存对象的验证,它们在“保存”后都有效。
这可能与mongodb连接上的交易或问题有关吗?