On Thu, 2007-04-12 at 23:42 -0400, Perrin Harkins wrote: > On 4/12/07, Jonathan Swartz <[EMAIL PROTECTED]> wrote: > > The mod_perl guide section on starting and stopping (http:// > > perl.apache.org/docs/general/control/ > > control.html#Safe_Code_Updates_on_a_Live_Production_Server) > > recommends using regular old stop. Doesn't this terminate any current > > user requests, with ugly results on the client? Wouldn't it make more > > sense to issue a graceful stop signal, setting > > GracefulShutdownTimeout to a low number (like 1) and then sleeping > > for at least that number of seconds?
I've started using it recently and it works well, but you MUST have a GracefulShutdownTimeout set, otherwise the processes persist indefinitely. At least they do when you have mod_ssl loaded. I would set the timeout higher than 1 though - eg 10 - this gives any slow clients / requests (eg a large upload on a modem) time to complete. There is no need to sleep - you can restart immediately. The new apache processes have nothing to do with the old ones, so they are completely independent, and are able to bind the relevant ports. So I do: # apachectl graceful-stop; apachectl start works for me. clint