2014-03-19 14:56:31 -04:00
|
|
|
worker_processes 2
|
2014-09-23 10:11:16 -04:00
|
|
|
timeout 60
|
2018-01-23 08:32:15 -05:00
|
|
|
|
2018-07-31 06:47:15 -04:00
|
|
|
preload_app true
|
|
|
|
check_client_connection false
|
|
|
|
|
2018-01-23 08:32:15 -05:00
|
|
|
before_fork do |server, worker|
|
2018-07-31 06:47:15 -04:00
|
|
|
# the following is highly recommended for Rails + "preload_app true"
|
|
|
|
# as there's no need for the master process to hold a connection
|
|
|
|
defined?(ActiveRecord::Base) and
|
|
|
|
ActiveRecord::Base.connection.disconnect!
|
|
|
|
|
2018-01-23 08:32:15 -05:00
|
|
|
if /darwin/ =~ RUBY_PLATFORM
|
|
|
|
require 'fiddle'
|
|
|
|
|
|
|
|
# Dynamically load Foundation.framework, ~implicitly~ initialising
|
|
|
|
# the Objective-C runtime before any forking happens in Unicorn
|
|
|
|
#
|
|
|
|
# From https://bugs.ruby-lang.org/issues/14009
|
|
|
|
Fiddle.dlopen '/System/Library/Frameworks/Foundation.framework/Foundation'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-07-31 06:47:15 -04:00
|
|
|
after_fork do |server, worker|
|
|
|
|
# Unicorn clears out signals before it forks, so rbtrace won't work
|
|
|
|
# unless it is enabled after the fork.
|
|
|
|
require 'rbtrace' if ENV['ENABLE_RBTRACE']
|
|
|
|
|
|
|
|
# the following is *required* for Rails + "preload_app true",
|
|
|
|
defined?(ActiveRecord::Base) and
|
|
|
|
ActiveRecord::Base.establish_connection
|
|
|
|
end
|