lib/arsenicum/main.rb in arsenicum-0.1.3 vs lib/arsenicum/main.rb in arsenicum-0.2
- old
+ new
@@ -1,27 +1,25 @@
module Arsenicum
- module Main
- def run(config_file)
+ class Main
+ def run(config)
$0 = 'arsenicum[main]'
- config = Arsenicum::Configuration.new
- config_file = File.expand_path config_file
-
- script = File.read config_file
- config.instance_eval script, config_file, 1
-
if config.daemon
Process.daemon true, true
File.open(config.pidfile_path, 'w:UTF-8') do |f|
f.puts $$
end
end
+ Dir.chdir config.working_directory
+
configure_io config
configure_log config
+ before_boot(config)
+
threads = config.queue_configurations.map{|qc|qc.build.start_async}
begin
threads.each(&:join)
rescue Interrupt
end
@@ -38,12 +36,14 @@
$stderr = File.open(config.stderr_path, 'a:UTF-8')
end
end
end
+ def before_boot(config);end
+
def configure_log(config)
Arsenicum::Logger.configure config.logger_config
end
- module_function :run, :configure_io, :configure_log
+ autoload :RailsMain, 'arsenicum/main/rails_main'
end
end