class DockerBoss::CLI
Public Instance Methods
engine()
click to toggle source
# File lib/docker_boss/cli.rb, line 64 def engine @engine ||= begin engine = DockerBoss::Engine.new(options, @config) engine end end
once()
click to toggle source
# File lib/docker_boss/cli.rb, line 16 def once setup_logging read_config begin engine.refresh_and_trigger rescue Docker::Error::DockerError => e DockerBoss.logger.fatal "Error communicating with Docker: #{e.message}" exit 1 end end
read_config()
click to toggle source
# File lib/docker_boss/cli.rb, line 87 def read_config begin @config = YAML.load_file(options[:config]) rescue SyntaxError => e DockerBoss.logger.fatal "Error loading config: #{e.message}" exit 1 end end
setup_logging()
click to toggle source
# File lib/docker_boss/cli.rb, line 71 def setup_logging case options[:log] when "syslog" @logger = Syslog::Logger.new('docker-boss') when "-" @logger = Logger.new(STDOUT) else @logger = Logger.new(options[:log]) end @logger.level = options[:debug] ? Logger::DEBUG : Logger::INFO DockerBoss.logger=(@logger) DockerBoss.logger.info "DockerBoss version #{DockerBoss::VERSION} starting up" end
watch()
click to toggle source
# File lib/docker_boss/cli.rb, line 33 def watch setup_logging read_config thw = engine.event_loop Daemons.daemonize if options[:daemonize] begin engine.refresh_and_trigger thw.next_wait.join rescue Docker::Error::DockerError => e DockerBoss.logger.fatal "Error communicating with Docker: #{e.message}" exit 1 rescue SignalException => e case Signal.signame(e.signo) when "TERM", "INT" DockerBoss.logger.info "Received SIGTERM/SIGINT, shutting down." exit 0 else DockerBoss.logger.fatal "Fatal unhandled signal in event loop: #{Signal.signame(e.signo)}" e.backtrace.each { |line| DockerBoss.logger.fatal " #{line}" } end rescue Exception => e DockerBoss.logger.fatal "Fatal unhandled exception in event loop: #{e.class.name} -> #{e.message}" e.backtrace.each { |line| DockerBoss.logger.fatal " #{line}" } exit 1 end end