mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-27 01:43:22 +00:00
Unicorn handle forked db connections - fixes PG::Error SSL SYSCALL error: EOF detected
This commit is contained in:
@@ -1,3 +1,27 @@
|
||||
preload_app true # https://newrelic.com/docs/ruby/no-data-with-unicorn
|
||||
worker_processes 4 # amount of unicorn workers to spin up
|
||||
timeout 30 # restarts workers that hang for 30 seconds
|
||||
|
||||
|
||||
# https://devcenter.heroku.com/articles/forked-pg-connections
|
||||
before_fork do |server, worker|
|
||||
|
||||
Signal.trap 'TERM' do
|
||||
puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
|
||||
Process.kill 'QUIT', Process.pid
|
||||
end
|
||||
|
||||
defined?(ActiveRecord::Base) and
|
||||
ActiveRecord::Base.connection.disconnect!
|
||||
end
|
||||
|
||||
after_fork do |server, worker|
|
||||
|
||||
Signal.trap 'TERM' do
|
||||
puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to sent QUIT'
|
||||
end
|
||||
|
||||
defined?(ActiveRecord::Base) and
|
||||
ActiveRecord::Base.establish_connection
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user