class Oxidized::Core
Public Class Methods
new(_args)
click to toggle source
# File lib/oxidized/core.rb, line 11 def initialize(_args) Oxidized.mgr = Manager.new Oxidized.hooks = HookManager.from_config(Oxidized.config) nodes = Nodes.new raise NoNodesFound, 'source returns no usable nodes' if nodes.empty? @worker = Worker.new nodes @need_reload = false # If we receive a SIGHUP, queue a reload of the state reload_proc = proc do @need_reload = true end Signals.register_signal('HUP', reload_proc) # Initialize REST API and webUI if requested if Oxidized.config.rest? begin require 'oxidized/web' rescue LoadError raise OxidizedError, 'oxidized-web not found: sudo gem install oxidized-web - \ or disable web support by setting "rest: false" in your configuration' end @rest = API::Web.new nodes, Oxidized.config.rest @rest.run end run end
Private Instance Methods
reload()
click to toggle source
# File lib/oxidized/core.rb, line 42 def reload Oxidized.logger.info("Reloading node list and log files") @worker.reload Oxidized.logger.reopen @need_reload = false end
run()
click to toggle source
# File lib/oxidized/core.rb, line 49 def run Oxidized.logger.debug "lib/oxidized/core.rb: Starting the worker..." loop do reload if @need_reload @worker.work sleep Config::SLEEP end end