Class: Wellness::Services::RedisService
- Inherits:
-
Base
- Object
- Base
- Wellness::Services::RedisService
show all
- Defined in:
- lib/wellness/services/redis_service.rb
Constant Summary
collapse
- KEYS =
[
'used_memory_human',
'connected_clients',
'keyspace_misses',
'keyspace_hits',
'evicted_keys',
'expired_keys',
'sync_partial_err',
'sync_partial_ok',
'sync_full',
'rejected_connections',
'total_commands_processed',
'total_connections_received',
'uptime_in_seconds',
'uptime_in_days'
]
Instance Attribute Summary
Attributes inherited from Base
#name, #params, #result
Instance Method Summary
collapse
Methods inherited from Base
#call, dependency, #failed_check, #healthy?, #initialize, #passed_check
Instance Method Details
#build_client ⇒ Object
38
39
40
|
# File 'lib/wellness/services/redis_service.rb', line 38
def build_client
Redis.new(self.params)
end
|
#check ⇒ Hash
28
29
30
31
32
33
34
35
36
|
# File 'lib/wellness/services/redis_service.rb', line 28
def check
client = build_client
details = client.info.select { |k, _| KEYS.include?(k) }
passed(details)
rescue Redis::BaseError => error
failed(error)
rescue Exception => error
failed(error)
end
|
#failed(error) ⇒ Object
49
50
51
52
53
54
55
56
|
# File 'lib/wellness/services/redis_service.rb', line 49
def failed(error)
{
status: 'UNHEALTHY',
details: {
error: error.message
}
}
end
|
#passed(details) ⇒ Object
42
43
44
45
46
47
|
# File 'lib/wellness/services/redis_service.rb', line 42
def passed(details)
{
status: 'HEALTHY',
details: details
}
end
|