Sha256: 48fe91b159103d9dc8ba5b33f2b18e6c04a1820b009e2457708f038f779c5982

Contents?: true

Size: 1.05 KB

Versions: 1

Compression:

Stored size: 1.05 KB

Contents

ENV['RAILS_ENV'] = 'production'
worker_processes 4

listen "<%="#{fetch(:app_server_host)}:#{fetch(:app_server_port)}"%>", :backlog => 2048

timeout 60

working_directory "<%=current_path%>"

pid "<%="#{shared_path}/pids/unicorn.pid"%>"
stderr_path "<%="#{shared_path}/log/unicorn.stderr.log"%>"
stdout_path "<%="#{shared_path}/log/unicorn.stdout.log"%>"

preload_app true

GC.respond_to?(:copy_on_write_friendly=) and
  GC.copy_on_write_friendly = true

before_fork do |server, worker|
  # Close connections on the master process if ActiveRecord is loaded
  if defined?(ActiveRecord::Base)
    ActiveRecord::Base.connection.disconnect!
  end

  old_pid = "#{server.config[:pid]}.oldbin"

  if File.exists?(old_pid) && server.pid != old_pid
    begin
      sig = (worker.nr + 1) >= server.worker_processes ? :TERM : :TTOU
      Process.kill(sig, File.read(old_pid).to_i)
    rescue Errno::ENOENT, Errno::ESRCH
      # It’s already gone
    end
  end
end

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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
capistrano-unformatt-1.1 vendor/templates/unicorn.rb.erb