【问题标题】:Get current active connection to the database获取与数据库的当前活动连接
【发布时间】:2014-04-28 06:48:03
【问题描述】:

我正在尝试从 rails 服务器获取到数据库的当前活动连接数。我有另一个 java 服务器,它也连接到同一个数据库

基本上我可以使用

从 mysql 获取到数据库的当前连接
SHOW STATUS like '%onnect%'

但这将是 rails 和 java 连接的组合。

我如何才能仅从 rails 服务器获取连接,ActiveRecord::Base 中是否有任何方法可以直接提供此信息(使用 rails 3.2.17/ruby 2.1)

【问题讨论】:

  • 他们使用的是同一个 MySQL 用户吗?
  • 是的,他们使用的是同一个用户

标签: mysql ruby ruby-on-rails-3


【解决方案1】:

试试

ActiveRecord::Base.connection_handler.connection_pool_list.map { |pool| pool.connections.length }.inject(:+)

对于 rails-3,您应该尝试修补 class ActiveRecord::ConnectionAdapters::ConnectionPool

class ActiveRecord::ConnectionAdapters::ConnectionPool
  attr_reader :connections
end

然后尝试:

ActiveRecord::Base.connection_handler.connection_pools.values.compact.map { |pool| pool.connections.length }.inject(:+)

【讨论】:

  • 我得到未定义的方法 connection_pool_list
  • connection_handler是什么类型的?
  • connection_pool_list 在 rails 3.2.17 中不可用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多