komachi_heartbeat 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 172965952080275e081af23b4ddb15ee4470a27a
4
- data.tar.gz: f70a823016e6c34b4c52182017ab19b633a7d2d2
3
+ metadata.gz: b08e53dc3bec78d7fdd331fbc0ee3a58d9185b88
4
+ data.tar.gz: 7615fa3291f59b2467afde97da7a7ba3b2e9fd5b
5
5
  SHA512:
6
- metadata.gz: 348f425ca5a95e737bba50730a48aa2344e49f6ff13df8f4758368cea368742f202f07aee8aefdb84ed1d25b781979e8b34bccc5bca0db9cab59c108ad904a18
7
- data.tar.gz: 073a22a9daeb02f9de54115c6d23e0b9b2fd0a930681bbb80adea1b26a8d5bed7f4284218c7b718f9303b9c7bbf6d9e016bbcd32c8fdabf9bc20eefcceb0c420
6
+ metadata.gz: eff3927fa76e4a266893690a064c6a406674783553fb98b3451223944d754c838271b6950d790ec828c6ea12286d4b49f70ea598ab2fb911f101c8a4be9f1d2f
7
+ data.tar.gz: 802a423a43b7fbdf7bf01a0b22e4ef106ab66542b1d035b7a19a128f856e93e7b500838d67398b40659a0a1d83796dcf6357a4a60d5616ab0f2603c79a6c9efe
data/README.md CHANGED
@@ -40,12 +40,15 @@ Rails アプリケーションとDBサーバーの死活監視するためのURL
40
40
  - `redis_check_enabled`
41
41
  - Redisをチェックするかどうか
42
42
  - default: false
43
+ - `redis_servers`
44
+ - Redisのサーバー情報
45
+ - default: [{host: "localhost", port: 6379, db: 0}]
43
46
  - `memcached_check_enabled`
44
47
  - Memcachedをチェックするかどうか
45
48
  - default: false
46
- - `memcached_server`
47
- - Memcachedのサーバー名
48
- - default: 'localhost'
49
+ - `memcached_server_names`
50
+ - Memcachedのサーバー名の配列
51
+ - default: ['localhost']
49
52
 
50
53
  ### Example
51
54
 
@@ -2,12 +2,17 @@ require_dependency "komachi_heartbeat/application_controller"
2
2
 
3
3
  module KomachiHeartbeat
4
4
  class HeartbeatController < ApplicationController
5
+
5
6
  def index
6
- db_connection_check if db_check?
7
- redis_connection_check if redis_check?
8
- memcached_connection_check if memcached_check?
7
+ begin
8
+ db_connection_check if db_check?
9
+ redis_connection_check if redis_check?
10
+ memcached_connection_check if memcached_check?
9
11
 
10
- head :ok
12
+ head :ok
13
+ rescue => e
14
+ head :internal_server_error
15
+ end
11
16
  end
12
17
 
13
18
  def version
@@ -17,11 +22,10 @@ module KomachiHeartbeat
17
22
  end
18
23
 
19
24
  private
20
- def redis_connection_check
21
- c = Redis::Client.new
22
- c.connect
23
- raise "Redis connection failed" unless c.connected?
24
- c.disconnect
25
+
26
+ # ---- Database
27
+ def db_check?
28
+ !!KomachiHeartbeat.config.db_check_enabled
25
29
  end
26
30
 
27
31
  def db_connection_check
@@ -30,28 +34,38 @@ module KomachiHeartbeat
30
34
  end
31
35
  end
32
36
 
33
- def memcached_connection_check
34
- MemCache.new(memcached_server_name).stats
37
+ def connection_database_class_names
38
+ KomachiHeartbeat.config.database_class_names.presence || []
35
39
  end
36
40
 
37
- def memcached_check?
38
- defined?(MemCache) && !!KomachiHeartbeat.config.memcached_check_enabled
41
+ # ---- Redis
42
+ def redis_check?
43
+ defined?(Redis) && !!KomachiHeartbeat.config.redis_check_enabled
39
44
  end
40
45
 
41
- def db_check?
42
- !!KomachiHeartbeat.config.db_check_enabled
46
+ def redis_connection_check
47
+ redis_servers.each do |hash|
48
+ Redis.new(hash).ping
49
+ end
43
50
  end
44
51
 
45
- def redis_check?
46
- defined?(Redis) && !!KomachiHeartbeat.config.redis_check_enabled
52
+ def redis_servers
53
+ KomachiHeartbeat.config.redis_servers.presence || []
47
54
  end
48
55
 
49
- def connection_database_class_names
50
- KomachiHeartbeat.config.database_class_names.presence || ["ActiveRecord::Base"]
56
+ # ---- Memcached
57
+ def memcached_server_names
58
+ KomachiHeartbeat.config.memcached_server_names.presence || []
51
59
  end
52
60
 
53
- def memcached_server_name
54
- KomachiHeartbeat.config.memcached_server
61
+ def memcached_connection_check
62
+ memcached_server_names.each do |memcached_server_name|
63
+ MemCache.new(memcached_server_name).stats
64
+ end
65
+ end
66
+
67
+ def memcached_check?
68
+ defined?(MemCache) && !!KomachiHeartbeat.config.memcached_check_enabled
55
69
  end
56
70
 
57
71
  def application_name
@@ -1,7 +1,7 @@
1
1
  module KomachiHeartbeat
2
2
  class Config
3
3
  include ActiveSupport::Configurable
4
- config_accessor :application_version, :application_name, :db_check_enabled, :redis_check_enabled, :memcached_check_enabled, :database_class_names, :memcached_server
4
+ config_accessor :application_version, :application_name, :db_check_enabled, :redis_check_enabled, :memcached_check_enabled, :database_class_names, :memcached_server_names, :redis_servers
5
5
 
6
6
  configure do |config|
7
7
  config.application_name = "Unknown"
@@ -10,9 +10,10 @@ module KomachiHeartbeat
10
10
  config.database_class_names = ["ActiveRecord::Base"]
11
11
 
12
12
  config.redis_check_enabled = false
13
+ config.redis_servers = [{host: "localhost", port: 6379, db: 0}]
13
14
 
14
15
  config.memcached_check_enabled = false
15
- config.memcached_server = "localhost"
16
+ config.memcached_server_names = ["localhost"]
16
17
  end
17
18
  end
18
19
  end
@@ -1,3 +1,3 @@
1
1
  module KomachiHeartbeat
2
- VERSION = "2.0.0"
2
+ VERSION = "2.1.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: komachi_heartbeat
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takumi MIURA