# frozen_string_literal: true # from https://blog.heroku.com/archives/2013/2/27/unicorn_rails worker_processes 3 timeout 30 preload_app true 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) && 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) && ActiveRecord::Base.establish_connection end