lib/arsenicum/main.rb in arsenicum-0.1.0 vs lib/arsenicum/main.rb in arsenicum-0.1.1

- old
+ new

@@ -5,19 +5,44 @@ config_file = File.expand_path config_file script = File.read config_file config.instance_eval script, config_file, 1 - File.open(config.pidfile_path, 'w:UTF-8') do |f| - f.puts $$ + if config.daemon + Process.daemonize + + File.open(config.pidfile_path, 'w:UTF-8') do |f| + f.puts $$ + end end + + configure_io config + configure_log config + threads = config.queue_configurations.map{|qc|qc.build.start_async} begin threads.each(&:join) rescue Interrupt end end - module_function :run + private + def configure_io(config) + $stdout = File.open(config.stdout_path, 'a:UTF-8') if config.stdout_path + + if config.stderr_path + if config.stdout_path && config.stdout_path == config.stderr_path + $stderr = $stdout + else + $stderr = File.open(config.stderr_path, 'a:UTF-8') + end + end + end + + def configure_log(config) + Arsenicum::Logger.configure config.logger_config + end + + module_function :run, :configure_io, :configure_log end end