unicorn, rails, and symlinked deployment

Michael Guterl mguterl at gmail.com
Wed Nov 18 21:36:39 EST 2009


On Wed, Nov 18, 2009 at 8:46 PM, Eric Wong <normalperson at yhbt.net> wrote:
> Eric Wong <normalperson at yhbt.net> wrote:
>> Michael Guterl <mguterl at gmail.com> wrote:
>> > I don't mean to hijack my own thread, but the problem seems to be
>> > closely related.  My application code is not being reloaded, when I
>> > send HUP to the unicorn master process.
>>
>> Hi Michael,
>>
>> Application code is only reloaded by HUP when your preload_app setting
>> is false.  Otherwise you have to use USR2 + QUIT to upgrade your entire
>> process.
>>
>> This behavior is documented in the Configurator, but not in the SIGNALS
>> documented, I'll fix the SIGNALS document in a few and disable
>> expand_path in the launcher scripts.
>
> Just pushed the following change out for the SIGNALS doc.
>  http://unicorn.bogomips.org/SIGNALS.html
>
> diff --git a/SIGNALS b/SIGNALS
> index 5c7295e..be96892 100644
> --- a/SIGNALS
> +++ b/SIGNALS
> @@ -9,7 +9,12 @@ Unicorn and nginx.
>
>  === Master Process
>
> -* HUP - reload config file, app, and gracefully restart all workers
> +* HUP - reloads config file 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.
>
>  * INT/TERM - quick shutdown, kills all workers immediately
>

This is great Eric, I had spent some time looking at Configurator,
however, I was mostly looking at SIGNALS related to this problem.
This adds much clarity to the docs!

Best regards,
Michael Guterl


More information about the mongrel-unicorn mailing list