【发布时间】:2014-05-19 22:44:48
【问题描述】:
我有一个非常不寻常的情况,我需要使用匿名类连接到 sqlite 数据库。这个类在每个请求上创建,然后使用 ActiveRecord 的establish_connection 连接到数据库。我的问题是每次调用establish_connection 时,ActiveRecord 都会创建一个新的连接池来跟踪通过该类建立的连接。由于这些是一次性使用的类,这实际上是内存泄漏,ActiveRecord 跟踪的连接池的数量随着每个请求而增长。解决这个问题的一种方法是调用
model_copy = Class.new Model { ... }
model_copy.establish_connection ...
# Do work
model_copy.connection.disconnect!
model_copy.connection_handler.remove_connection model_copy
我想在没有明确断开连接的情况下执行此操作!和 remove_connection 调用,因为它很烦人并且很容易出现错误和内存泄漏。有人在这里有任何指导吗?
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby activerecord