【发布时间】:2014-02-01 20:06:34
【问题描述】:
我在 Heroku 上部署的应用程序出现问题。 它在本地环境中运行良好,但在部署到 Heroku 时经常会出现应用程序错误。
日志中的异常是: ActiveRecord::ConnectionTimeoutError (could not get a database connection within 5.000 seconds (waited 5.000 seconds))
控制器和模型没有什么花哨的,而是简单的 CRUD 操作。
该应用程序是使用 Rails 4 构建的,它使用标准的 heroku postgres 数据库插件和 WEBrick 服务器。
我试过这样设置配置:
#config/initializers/database_connection.rb
Rails.application.config.after_initialize do
ActiveRecord::Base.connection_pool.disconnect!
ActiveSupport.on_load(:active_record) do
config = Rails.application.config.database_configuration[Rails.env]
config['reaping_frequency'] = ENV['DB_REAP_FREQ'] || 5 # seconds
config['pool'] = ENV['DB_POOL'] || 10
config['timeout'] = ENV['DB_TIMEOUT'] || 10
ActiveRecord::Base.establish_connection(config)
end
end
但它没有帮助。
您知道什么可以提供帮助吗?
【问题讨论】:
标签: heroku ruby-on-rails-4 heroku-postgres