class Heartcheck::Checks::Cache
Check for a cache service Base is set in heartcheck gem
Public Instance Methods
validate()
click to toggle source
validate each service
@retun [void]
# File lib/heartcheck/checks/cache.rb, line 9 def validate services.each do |service| connection = service[:connection] append_error(service[:name], :set) unless set?(connection) append_error(service[:name], :get) unless get?(connection) append_error(service[:name], :delete) unless delete?(connection) end end
Private Instance Methods
custom_error(name, key_error)
click to toggle source
customize the error message It's called in Heartcheck::Checks::Base#append_error
@param name [String] An identifier of service @param key_error [Symbol] name of action
@return [void]
# File lib/heartcheck/checks/cache.rb, line 61 def custom_error(name, key_error) @errors << "#{name} fails to #{key_error}" end
delete?(con)
click to toggle source
test if can delete on cache
@param con [Cache] an instance of cache
@return [Bollean]
# File lib/heartcheck/checks/cache.rb, line 48 def delete?(con) con.delete(unique_check_key) rescue false end
get?(con)
click to toggle source
test if can read on cache
@param con [Cache] an instance of cache
@return [Bollean]
# File lib/heartcheck/checks/cache.rb, line 37 def get?(con) con.get(unique_check_key) == 'heartcheck' rescue false end
set?(con)
click to toggle source
test if can write on cache
@param con [Cache] an instance of cache
@return [Bollean]
# File lib/heartcheck/checks/cache.rb, line 26 def set?(con) con.set(unique_check_key, 'heartcheck') rescue false end
unique_check_key()
click to toggle source
generate an unique redis key It's necessary to run concurrent application instances/checks using a shared memcache
@return [String]
# File lib/heartcheck/checks/cache.rb, line 70 def unique_check_key @unique_check_key ||= SecureRandom.hex end