我有一些通过Active Record关系循环的代码。每个循环都进行API调用,并根据结果,更新数据库中的“已导出”标志。它命中的API端点会将从该进程收到的每个请求写入其自己的数据库。它正在将重复的记录写入其数据库,这告诉我我的过程正在以某种方式多次调用同一条记录的API。
让我们将Rails模型称为Orders。
Orders.where(exported: false).find_each do |o|
//call api
//depending on result update "exported" column
o.update(exported: true)
end
在尝试优化批处理大小时,find_each是否能以某种方式多次从数据库中获得相同的记录?