summaryrefslogtreecommitdiff
path: root/config/unicorn.rb
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2014-02-21 21:17:05 -0700
committermo khan <mo@mokhan.ca>2014-02-21 21:17:05 -0700
commit43e38c3dc960a11e90bd2a028efab4ba77f1cd47 (patch)
tree5efeac7ae011e51e8e0161b5c4734940fa00a84c /config/unicorn.rb
parentf3b3b2fc4b52694def53309ea2955ef28a44a8a0 (diff)
use unicorn.
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