class OkComputer::CacheCheck
Verifies that the Rails cache is set up and can speak with Memcached running on the given host (defaults to local).
Constants
- ConnectionFailed
Attributes
host[RW]
Public Class Methods
new(host=Socket.gethostname)
click to toggle source
# File lib/ok_computer/built_in_checks/cache_check.rb, line 7 def initialize(host=Socket.gethostname) self.host = host end
Public Instance Methods
check()
click to toggle source
Public: Check
whether the cache is active
# File lib/ok_computer/built_in_checks/cache_check.rb, line 12 def check mark_message "Cache is available (#{stats})" rescue ConnectionFailed => e mark_failure mark_message "Error: '#{e}'" end
stats()
click to toggle source
Public: Outputs stats string for cache
# File lib/ok_computer/built_in_checks/cache_check.rb, line 20 def stats return "" unless Rails.cache.respond_to? :stats stats = Rails.cache.stats values = stats.select{|k,v| k =~ Regexp.new(host) }.values[0] mem_used = to_megabytes values['bytes'] mem_max = to_megabytes values['limit_maxbytes'] return "#{mem_used} / #{mem_max} MB, #{stats.count - 1} peers" rescue => e raise ConnectionFailed, e end
Private Instance Methods
to_megabytes(bytes)
click to toggle source
Private: Convert bytes to megabytes
# File lib/ok_computer/built_in_checks/cache_check.rb, line 35 def to_megabytes(bytes) bytes.to_i / (1024 * 1024) end