module Cuniculus::Plugins::HealthCheck::SupervisorMethods
Public Class Methods
new(config)
click to toggle source
Calls superclass method
# File lib/cuniculus/plugins/health_check.rb 66 def initialize(config) 67 super(config) 68 hc_plugin_opts = config.opts[OPTS_KEY] 69 @hc_server = Rack::Handler.get(hc_plugin_opts["server"]) 70 @hc_rack_app = build_rack_app(hc_plugin_opts) 71 end
Public Instance Methods
start()
click to toggle source
Calls superclass method
# File lib/cuniculus/plugins/health_check.rb 73 def start 74 start_health_check_server 75 super 76 end
stop()
click to toggle source
Calls superclass method
# File lib/cuniculus/plugins/health_check.rb 78 def stop 79 @hc_server.shutdown 80 super 81 end
Private Instance Methods
build_rack_app(opts)
click to toggle source
# File lib/cuniculus/plugins/health_check.rb 86 def build_rack_app(opts) 87 app = ::Object.new 88 app.define_singleton_method(:call) do |env| 89 if Rack::Request.new(env).path == "/#{opts['path']}" 90 [200, {}, ["OK"]] 91 else 92 [404, {}, ["Not Found"]] 93 end 94 end 95 app 96 end
start_health_check_server()
click to toggle source
# File lib/cuniculus/plugins/health_check.rb 98 def start_health_check_server 99 opts = config.opts[OPTS_KEY] 100 Thread.new do 101 access_log = opts["quiet"] ? [] : nil 102 @hc_server.run(@hc_rack_app, AccessLog: access_log, Port: opts["port"], Host: opts["bind_to"]) 103 end 104 end