Sha256: 3d4bf69e96a2023c90c95b9591247b2e53fece851fbd84d525796bd83a59c03f
Contents?: true
Size: 1.81 KB
Versions: 2
Compression:
Stored size: 1.81 KB
Contents
require 'pathname' require 'net/http' require 'net/https' require 'uri' require 'forwardable' # Ruby’s stock DNS resolution, by default, blocks the entire Ruby VM from # processing while the lookup is happening, because it calls out to the native # libc resolver code. A slow DNS server can cause your entire Ruby process to # grind to a halt. Ruby comes with a pure Ruby replacement that is not loaded # by default called 'resolv'. # # 'resolv-replace' monkeypatches the various Ruby Socket objects to use resolv # require 'resolv-replace' require 'sinatra/base' require 'facter' require 'syslog_logger' require 'facts/loadaverage' require 'litmus_paper/app' require 'litmus_paper/configuration' require 'litmus_paper/dependency/haproxy_backends' require 'litmus_paper/dependency/http' require 'litmus_paper/dependency/tcp' require 'litmus_paper/health' require 'litmus_paper/forced_health' require 'litmus_paper/logger' require 'litmus_paper/metric/available_memory' require 'litmus_paper/metric/cpu_load' require 'litmus_paper/service' require 'litmus_paper/status_file' require 'litmus_paper/version' module LitmusPaper class << self attr_reader :services, :config_dir attr_accessor :logger end self.logger = Logger.new def self.check_service(service_name) Facter.flush if service = @services[service_name] service.current_health else nil end end def self.configure(filename) @config_file = filename begin @services = LitmusPaper::Configuration.new(filename).evaluate rescue Exception end end def self.config_dir=(path) @config_dir = Pathname.new(path) end def self.reload LitmusPaper.logger.info "Reloading configuration" configure(@config_file) end def self.reset @services = {} end end Signal.trap("USR1") { LitmusPaper.reload }
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
litmus_paper-0.6.0 | lib/litmus_paper.rb |
litmus_paper-0.5.0 | lib/litmus_paper.rb |