about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2013-09-04 17:09:33 +0000
committerEric Wong <normalperson@yhbt.net>2013-09-04 17:09:33 +0000
commitd4988043825d1082666b4c219f2d66659b0c350b (patch)
treeb2888dc3fce95d83269196250889e70619f411f2
parent45261c67658d57f98b51d6bb37890f03b60240a9 (diff)
downloadrainbows-d4988043825d1082666b4c219f2d66659b0c350b.tar.gz
This was documented in the unicorn docs, but not Rainbows!
(The major difference between unicorn and Rainbows! signal
handling is the deferred handling of SIGUSR1 in unicorn vs
the immediate handling in Rainbows!)
-rw-r--r--SIGNALS10
1 files changed, 10 insertions, 0 deletions
diff --git a/SIGNALS b/SIGNALS
index 7b61172..b761ae5 100644
--- a/SIGNALS
+++ b/SIGNALS
@@ -10,6 +10,16 @@ between \Rainbows!, Unicorn and nginx.
 === Master Process
 
 * HUP - reload config file, app, and gracefully restart all workers
+  If the "preload_app" directive is false (the default), then workers
+  will also pick up any application code changes when restarted.  If
+  "preload_app" is true, then application code changes will have no
+  effect; USR2 + QUIT (see below) must be used to load newer code in
+  this case.  When reloading the application, +Gem.refresh+ will
+  be called so updated code for your application can pick up newly
+  installed RubyGems.  It is not recommended that you uninstall
+  libraries your application depends on while Rainbows! is running,
+  as respawned workers may enter a spawn loop when they fail to
+  load an uninstalled dependency.
 
 * INT/TERM - quick shutdown, kills all workers immediately