Ye' old general discussion board. Basically, for everything that isn't covered elsewhere. Come here to shoot the breeze, shoot your mouth off, or whatever suits your fancy. This forum is not for asking programming related questions.
I'm wondering, when you update a software system which is actively in use, how do you ensure all requests prior shutdown are allowed to continue to completion?
It's to my understanding that all pending requests are finished before the server goes down, so if someone executes an action which takes a few seconds to update tables, etc, this request would complete before apache is shutdown completely. How reliable is this technique in ensuring tables don't lose integrity? Short of using InnoDB and transactions (which I did not do - I used MyISAM) what can I do to ensure upgrades are painless???
Well the answer is you don't. Either you have load balanced mirrored servers or you schedule some down time. Even if it could work with apache it won't work with other packages.
If this is an apache specific question...
The USR1 or graceful signal causes the parent process to advise the children to exit after their current request (or to exit immediately if they're not serving anything). The parent re-reads its configuration files and re-opens its log files. As each child dies off the parent replaces it with a child from the new generation of the configuration, which begins serving new requests immediately.