每当我有一个使用 ActiveRecord 的应用程序时,我都会得到这个 ConnectionTimeoutError - 但总是在某个未知的时间段之后
ActiveRecord::ConnectionTimeoutError (could not obtain a database connection within 5 seconds. The max pool size is currently 30; consider increasing it.):
之前设置为5,我们已经增加了,不可能同时使用30个连接。我们使用 ActiveRecord 的唯一目的是我们的会话存储。
我们的 database.yml 文件如下所示:
development:
adapter: sqlite3
database: db/development.sqlite3
pool: 30
timeout: 5000
(测试和生产设置相同)
我一直在谷歌上搜索这个事件,刚刚看到这个帖子:
https://groups.google.com/forum/#!msg/copenhagen-ruby-user-group/GEHgi_WudmM/gnCiwWqmVfMJ
哪个提到 ActiveRecord 完成后不会将连接检查回池中?真的吗?我需要手动管理连接吗?
我很感激任何建议!
编辑我可能应该提到我正在运行 Rails 3.1.3