Guest User

Untitled

a guest
Jul 12th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. def load_mapper_opts
  2. # YAML::load(ERB.new(IO.read(RAILS_ROOT+"/config/nanite/mapper.yml")).result)[ENV["RAILS_ENV"] || "development"]
  3. { :host => 'localhost', :user => 'mapper', :pass => 'testing', :vhost => '/nanite', :log_level => 'info' }
  4. end
  5.  
  6. def start_mapper_on_passenger
  7. logger = RAILS_DEFAULT_LOGGER
  8.  
  9. opts = load_mapper_opts
  10. opts.merge!(:offline_failsafe => true)
  11.  
  12. th = Thread.current
  13. Thread.new do
  14. logger.info "Starting Nanite mapper on Passenger..."
  15. EM.run do
  16. begin
  17. Nanite.start_mapper(opts)
  18. rescue => e
  19. logger.error e.to_s
  20. logger.error e.backtrace.join("\n ")
  21. ensure
  22. th.wakeup
  23. end
  24. end
  25. end
  26. Thread.stop
  27. end
  28.  
  29. if ENV["NO_NM"].nil? && RAILS_ENV != "test"
  30. if defined?(PhusionPassenger)
  31. PhusionPassenger.on_event(:starting_worker_process) do |forked|
  32. if forked
  33. start_mapper_on_passenger
  34. else
  35. if !EM.reactor_running?
  36. start_mapper_on_passenger
  37. end
  38. end
  39. end
  40. else
  41. Thread.new do
  42. opts = load_mapper_opts
  43. opts.merge!(:offline_failsafe => true)
  44.  
  45. if defined?(Thin)
  46. $stderr.puts "** [Nanite] Starting Nanite Mapper on Thin..."
  47. sleep 1 until EM.reactor_running?
  48. Nanite.start_mapper(opts)
  49. else
  50. EM.run do # :persistent => true, :offline_failsafe => true
  51. $stderr.puts "Starting Nanite Mapper..."
  52. Nanite.start_mapper(opts)
  53. end
  54. end
  55. end
  56. end
  57. end
Add Comment
Please, Sign In to add comment