循环时find_each如何处理数据库更新

时间:2019-05-16 17:51:06

标签: ruby-on-rails ruby

我有一些通过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是否能以某种方式多次从数据库中获得相同的记录?

0 个答案:

没有答案