class HealthMonitor::Providers::Database

Public Instance Methods

check!() click to toggle source
# File lib/health_monitor/providers/database.rb, line 10
def check!
  failed_databases = []

  ActiveRecord::Base.connection_handler.connection_pool_list(:all).each do |cp|
    cp.lease_connection.execute('SELECT 1')
  rescue Exception
    failed_databases << cp.db_config.name
  end

  raise "unable to connect to: #{failed_databases.uniq.join(',')}" unless failed_databases.empty?
rescue Exception => e
  raise DatabaseException.new(e.message)
end