> On 2 Feb 2018, at 14:19, Jim Jagielski <j...@jagunet.com> wrote: > > To be honest, I don't think we ever envisioned an actual environ > where the config files change every hour and the server gracefully > restarted... I think our working assumptions have been that actual > config file changes are "rare", hence the number of modules that > allow for "on-the-fly" reconfiguration which avoid the need for > restarts. > > So this is a nice "edge case" >
Think mass hosting of 10000+ reverse-proxy front-ends all in the same Apache instance, with self-service updates to configs as well as a staging environment.The 24-hour cycle is like this.. 1am: Full stop (SIGTERM) and start of Apache with all configurations, primarily to permit log file rotation. Then, on the hour, any configuration changes requested will be made live by auto-generation of a giant 200k+ configuration then a HUP (not a USR1) signal to keep the same parent, but a bunch of fresh children. As these are mostly reverse proxies, we generate thousands of balancer and balancermember directives per configuration. In the background, once a minute, a background process is always checking for responses and forcibly restarting Apache (SIGTERM then SIGKILL if necessary) if it doesn’t respond. Finally, bear in mind that line number changes can occur merely because a new virtualhost was added ahead of a given virtualhost, so some kind of tracking UUID for a virtualhost based on whatever non-line-number properties is probably useful. - Mark