jookyboi
2/19/2013 - 4:30 PM

How to get Unicorn working on Heroku. From http://blog.codeship.io/2012/05/06/Unicorn-on-Heroku.html

How to get Unicorn working on Heroku. From http://blog.codeship.io/2012/05/06/Unicorn-on-Heroku.html

worker_processes 3
timeout 30
preload_app true

before_fork do |server, worker|
  # Replace with MongoDB or whatever
  if defined?(ActiveRecord::Base)
    ActiveRecord::Base.connection.disconnect!
    Rails.logger.info('Disconnected from ActiveRecord')
  end

  # If you are using Redis but not Resque, change this
  if defined?(Resque)
    Resque.redis.quit
    Rails.logger.info('Disconnected from Redis')
  end

  sleep 1
end

after_fork do |server, worker|
  # Replace with MongoDB or whatever
  if defined?(ActiveRecord::Base)
    ActiveRecord::Base.establish_connection
    Rails.logger.info('Connected to ActiveRecord')
  end

  # If you are using Redis but not Resque, change this
  if defined?(Resque)
    Resque.redis = ENV['REDIS_URI']
    Rails.logger.info('Connected to Redis')
  end
end
config.logger = Logger.new(STDOUT)
web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb