OSDN Git Service

Add unicorn-worker-killer with memory check
authorJacob Vosmaer <contact@jacobvosmaer.nl>
Wed, 18 Dec 2013 12:49:09 +0000 (13:49 +0100)
committerJacob Vosmaer <contact@jacobvosmaer.nl>
Wed, 18 Dec 2013 15:52:14 +0000 (16:52 +0100)
Conflicts:
Gemfile.lock

Gemfile
Gemfile.lock
config.ru

diff --git a/Gemfile b/Gemfile
index c3c90dd..3eee8d4 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -86,6 +86,7 @@ gem  "asciidoctor"
 
 # Application server
 gem "unicorn", '~> 4.6.3', group: :unicorn
+gem 'unicorn-worker-killer', group: :unicorn
 
 # State machine
 gem "state_machine"
index 6142d6e..8aad7c8 100644 (file)
@@ -539,6 +539,8 @@ GEM
       kgio (~> 2.6)
       rack
       raindrops (~> 0.7)
+    unicorn-worker-killer (0.4.2)
+      unicorn (~> 4)
     virtus (1.0.1)
       axiom-types (~> 0.0.5)
       coercible (~> 1.0)
@@ -660,4 +662,5 @@ DEPENDENCIES
   uglifier
   underscore-rails (~> 1.4.4)
   unicorn (~> 4.6.3)
+  unicorn-worker-killer
   webmock
index dfd2d86..1edcd39 100644 (file)
--- a/config.ru
+++ b/config.ru
@@ -1,5 +1,11 @@
 # This file is used by Rack-based servers to start the application.
 
+# Unicorn self-process killer
+require 'unicorn/worker_killer'
+
+# # Max memory size (RSS) per worker
+use Unicorn::WorkerKiller::Oom, (200 * (1 << 20)), (250 * (1 << 20))
+
 require ::File.expand_path('../config/environment',  __FILE__)
 
 map ENV['RAILS_RELATIVE_URL_ROOT'] || "/" do