Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def load_mapper_opts
- # YAML::load(ERB.new(IO.read(RAILS_ROOT+"/config/nanite/mapper.yml")).result)[ENV["RAILS_ENV"] || "development"]
- { :host => 'localhost', :user => 'mapper', :pass => 'testing', :vhost => '/nanite', :log_level => 'info' }
- end
- def start_mapper_on_passenger
- logger = RAILS_DEFAULT_LOGGER
- opts = load_mapper_opts
- opts.merge!(:offline_failsafe => true)
- th = Thread.current
- Thread.new do
- logger.info "Starting Nanite mapper on Passenger..."
- EM.run do
- begin
- Nanite.start_mapper(opts)
- rescue => e
- logger.error e.to_s
- logger.error e.backtrace.join("\n ")
- ensure
- th.wakeup
- end
- end
- end
- Thread.stop
- end
- if ENV["NO_NM"].nil? && RAILS_ENV != "test"
- if defined?(PhusionPassenger)
- PhusionPassenger.on_event(:starting_worker_process) do |forked|
- if forked
- start_mapper_on_passenger
- else
- if !EM.reactor_running?
- start_mapper_on_passenger
- end
- end
- end
- else
- Thread.new do
- opts = load_mapper_opts
- opts.merge!(:offline_failsafe => true)
- if defined?(Thin)
- $stderr.puts "** [Nanite] Starting Nanite Mapper on Thin..."
- sleep 1 until EM.reactor_running?
- Nanite.start_mapper(opts)
- else
- EM.run do # :persistent => true, :offline_failsafe => true
- $stderr.puts "Starting Nanite Mapper..."
- Nanite.start_mapper(opts)
- end
- end
- end
- end
- end
Add Comment
Please, Sign In to add comment