summaryrefslogtreecommitdiff
path: root/config/unicorn.rb
diff options
context:
space:
mode:
Diffstat (limited to 'config/unicorn.rb')
-rw-r--r--config/unicorn.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/config/unicorn.rb b/config/unicorn.rb
new file mode 100644
index 0000000..729ff4d
--- /dev/null
+++ b/config/unicorn.rb
@@ -0,0 +1,20 @@
+worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3)
+timeout 15
+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) 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 send QUIT'
+ end
+
+ defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection
+end