From d4988043825d1082666b4c219f2d66659b0c350b Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 4 Sep 2013 17:09:33 +0000 Subject: SIGNALS: document SIGHUP/preload_app incompatibility 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!) --- SIGNALS | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 -- cgit v1.2.3-24-ge0c7