module TengineJobAgent::CommandUtils::ClassMethods
Public Instance Methods
load_config()
click to toggle source
# File lib/tengine_job_agent/command_utils.rb, line 43 def load_config config_path = Dir["{.,./config,/etc}/tengine_job_agent{.yml,.yml.erb}"].first if config_path YAML.load_file(config_path) else DEFAULT_CONFIG end end
new_logger(config)
click to toggle source
# File lib/tengine_job_agent/command_utils.rb, line 72 def new_logger(config) logfile = config['logfile'] unless logfile prefix = self.name.split('::').last.downcase logfile = File.expand_path("#{prefix}-#{Process.pid}.log", config['log_dir']) end result = Tengine::Support::NamedLogger.new(File.basename($PROGRAM_NAME), logfile) result.level = Logger::DEBUG result end
process(*args)
click to toggle source
# File lib/tengine_job_agent/command_utils.rb, line 52 def process(*args) config = load_config logger = new_logger(config) Tengine.logger = logger Kernel.at_exit do logger.info("process is exiting now") end begin logger.info("#{self.name}#process starting") new(logger, args, config).process logger.info("#{self.name}#process finished successfully") rescue Exception => e logger.error("#{self.name}#process error: [#{e.class.name}] #{e.message}\n " << e.backtrace.join("\n")) return false ensure logger.info("#{self.name}#process finished at the end") end end