class MetricsCapacitor::Processor::Core
Public Class Methods
new(logpipe)
click to toggle source
# File lib/metrics-capacitor/processor/core.rb, line 8 def initialize(logpipe) Config.load! @_logger = ::Logger.new(logpipe) @_name = self.class.to_s.split('::').last.downcase @_logger.progname = @_name @_logger.level = log_level @_logger.formatter = proc { |severity, datetime, progname, msg| "#{progname}##{Process.pid}|||#{severity}|||#{msg}\n" } logger.info "Initializing processor" post_init end
Public Instance Methods
logger()
click to toggle source
# File lib/metrics-capacitor/processor/core.rb, line 33 def logger @_logger end
post_init()
click to toggle source
implement in the processor Class
# File lib/metrics-capacitor/processor/core.rb, line 20 def post_init end
process()
click to toggle source
implement in the processor Class
# File lib/metrics-capacitor/processor/core.rb, line 24 def process loop { logger.debug "alive"; sleep 10 } end
shutdown()
click to toggle source
implement in the processor Class
# File lib/metrics-capacitor/processor/core.rb, line 29 def shutdown exit 1 end
shutdown!()
click to toggle source
# File lib/metrics-capacitor/processor/core.rb, line 52 def shutdown! shutdown end
start!()
click to toggle source
# File lib/metrics-capacitor/processor/core.rb, line 37 def start! logger.info "Starting processor" begin process rescue StandardError => e logger.fatal 'SHUTTING DOWN DUE TO AN EXCEPTION!' logger.fatal [e.class, e.message].join(' -> ') logger.fatal e.backtrace logger.fatal 'Sending SIGINT to the engine' Process.kill('INT', Process.ppid) shutdown! end logger.info "Processor finished" end
Private Instance Methods
log_level()
click to toggle source
# File lib/metrics-capacitor/processor/core.rb, line 57 def log_level Config.debug ? ::Logger::DEBUG : ::Logger::INFO end