Sha256: bc1265b7eb4a476225eed409a8002e90392c128a92c6ef40daf0fa86d600b4b7

Contents?: true

Size: 1.42 KB

Versions: 1

Compression:

Stored size: 1.42 KB

Contents

# paths
# => You can also choose the using Ruby: app_path = File.expand_path(File.join(File.dirname(__FILE__), '..'))
app_path = "/var/www/perkins/"

working_directory "#{app_path}/current"
pid               "#{app_path}/current/tmp/pids/rainbows.pid"

# listen
 listen "/var/www/perkins/shared/perkins.sock", :backlog => 64

# logging
stderr_path "log/rainbows.stderr.log"
stdout_path "log/rainbows.stdout.log"

# workers
worker_processes 3

#worker_processes 4 # assuming four CPU cores
Rainbows! do
  use :EventMachine
  worker_connections 100
end


# use correct Gemfile on restarts
before_exec do |server|
  ENV['BUNDLE_GEMFILE'] = "#{app_path}/current/Gemfile"
end

# preload
preload_app true

before_fork do |server, worker|
  # the following is highly recomended for Rails + "preload_app true"
  # as there's no need for the master process to hold a connection
 # if defined?(ActiveRecord::Base)
 #   ActiveRecord::Base.connection.disconnect!
 # end

  # Before forking, kill the master process that belongs to the .oldbin PID.
  # This enables 0 downtime deploys.
  old_pid = "#{server.config[:pid]}.oldbin"
  if File.exists?(old_pid) && server.pid != old_pid
    begin
      Process.kill("QUIT", File.read(old_pid).to_i)
    rescue Errno::ENOENT, Errno::ESRCH
      # someone else did our job for us
    end
  end
end

#after_fork do |server, worker|
#  if defined?(ActiveRecord::Base)
#    ActiveRecord::Base.establish_connection
#  end
#end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
perkins-0.0.5 examples/config/rainbows/production.rb