# config/unicorn.rb # See comment by @paulelliott worker_processes 3 timeout 45 preload_app true before_fork do |server, worker| if defined?(ActiveRecord::Base) ActiveRecord::Base.connection.disconnect! Rails.logger.info('Disconnected from ActiveRecord') end if defined?(Resque) Resque.redis.quit Rails.logger.info('Disconnected from Redis') end end after_fork do |server, worker| if defined?(ActiveRecord::Base) ActiveRecord::Base.establish_connection Rails.logger.info('Connected to ActiveRecord') end if defined?(Resque) Resque.redis = REDIS_WORKER @resque_pid ||= spawn("bundle exec rake resque:work") Rails.logger.info('Connected to Redis') end end