Всякий раз, когда у меня есть приложение, использующее 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 не проверяет соединение обратно в пул после его завершения? Это правда? Нужно ли мне вручную управлять соединениями?
Я ценю любые советы!
edit Возможно, мне стоит упомянуть, что я запускаю Rails 3.1.3