我们正在将一个Sinatra应用程序从ActiveRecord 4升级到ActiveRecord 5。以前我们有这样一行代码:
use ActiveRecord::ConnectionAdapters::ConnectionManagement
这是因为连接在请求完成后没有被清理干净。以下是此主题的先前SO讨论:
从ActiveRecord 5开始,这行代码不再起作用。这个Rails项目中的讨论表明:
这已被Executor和Reloader APIs所代替。那些被移除的中间件不是公共API的一部分。如果你想在Rails之外使用它,你需要创建一个。这是否意味着,如果有人要在Sinatra中使用ActiveRecord 5,连接将再次在请求后泄漏或未返回到池中,除非开发者重新创建现已删除的中间件?
因此,在Sinatra示例中,我们现在需要在ActiveRecord 5中包含这行代码吗?
after do
ActiveRecord::Base.clear_active_connections!
end
这是对链接线程的暗示,但我希望得到一个明确的答案,以便将其带回给我的开发团队。