Tony Arcieri <[email protected]> wrote: > Here's a quick followup with what we're going to try: > > We changed the before_fork/after_fork hooks, getting rid of the > original before_fork hook which sent SIGQUIT to the old master. > Instead, we send SIGTTOU to the old master at the very end of the > after_fork block, so that as each new worker completes booting it > tells the old master to kill off one old worker.
AFAIK, this is pretty common in existing deployments due to the default example, so it probably works well for many users already. > We're also using Rack::MockRequest in the after_fork block (but before > we send SIGTTOU) to send a request to our most heavily trafficked > action. Subsequent requests to the same action are ~20X faster, so > it's clear we're pulling in a lot of code on that first request and > warming up the new workers is definitely needed. I haven't heard of anybody using this, but I expect it to work. A followup report would be much appreciated. Thanks in advance. > Does this sound sane? Sure! (of course, my definition of "sane" may not match the rest of the world :) _______________________________________________ Unicorn mailing list - [email protected] http://rubyforge.org/mailman/listinfo/mongrel-unicorn Do not quote signatures (like this one) or top post when replying
