以前公司的项目里面从来没看到过这个ActiveRecord::Base.clear_active_connections!
, 但是最近接触的一个项目里面看到好多这种代码。从 ActiveRecord 的文档我知道它是释放当前线程的 connections, 但是这不应该是自动的吗?
在这个项目中我看到的大概是这样的
def update_entries
# 查询数据库中的记录
Entry.find_each do |e|
# 1. 调用第三方api, 查询记录信息
# 2. 处理信息
# 3. 保存
end
ActiveRecord::Base.clear_active_connections!
end