class Rack::Handler::Unicorn
Public Class Methods
environment()
click to toggle source
# File lib/unicorn_rails.rb, line 36 def environment ENV["RACK_ENV"] || ENV["RAILS_ENV"] end
run(app, options = {})
click to toggle source
# File lib/unicorn_rails.rb, line 12 def run(app, options = {}) unicorn_options = { :listeners => ["#{options[:Host]}:#{options[:Port]}"] } if ::File.exist?("config/unicorn/#{environment}.rb") unicorn_options[:config_file] = "config/unicorn/#{environment}.rb" elsif ::File.exist?("config/unicorn.rb") unicorn_options[:config_file] = "config/unicorn.rb" else unicorn_options[:timeout] = 31 * 24 * 60 * 60 unicorn_options[:worker_processes] = (ENV["UNICORN_WORKERS"] || "1").to_i end if unicorn_options[:config_file] if ::File.read(unicorn_options[:config_file]) =~ /^(\s*)listen\s/ unicorn_options.delete(:listeners) end end ::Unicorn::Launcher.daemonize!(unicorn_options) if options[:daemonize] ::Unicorn::HttpServer.new(app, unicorn_options).start.join end