]> CyberLeo.Net >> Repos - CDN/status.git/blob - lib/database_check.rb
Naive parallelization of checks to reduce response time
[CDN/status.git] / lib / database_check.rb
1 require 'database_check_exception'
2 require 'mysql'
3
4 class DatabaseCheck < Check
5   def type
6     "Database"
7   end
8
9   def perform_check
10     dsn = URI(uri)
11     scheme = dsn.scheme
12     host = dsn.host
13     port = dsn.port
14     user = dsn.user
15     pass = dsn.password
16     base = dsn.path.gsub(/^\/*|\/*$/, '')
17     raise DatabaseCheckException.unhandled_database_type(scheme) unless scheme == 'mysql'
18     my = Mysql.connect(host, user, pass, base)
19     my.query('SELECT CURRENT_TIMESTAMP;')
20   end
21 end