Just couldn't help myself. I had to fix this.

Dbmail daemons will now shutdown all children, and go in sleep-mode
until the database recovers.

Basic idea:

Database failure: shutdown children.
Retry db connection every 10 seconds ......
Database recovers: restart children.

Simple fix, works great :-) Committed in 2.0 and trunk.

Paul J Stevens wrote:
> Aaron Stone wrote:
> 
>>Is there any mechanism in place to "ping" the database and restore the
>>child process pool when the database is back up? Otherwise we've traded a
>>bad situation that hobbles the machine with a bad situation. Would be good
>>to gracefully handle the bad situation, too.
> 
> 
> We've traded machine failure for service failure. Imo, a great improvement. 
> Not
> the end and be all, I agree. I've kept the fix very simple: clean exit if the
> database becomes unreachable. A situation easily handled by using a 
> keep-a-live
> guardian cronjob. I use those all the time for stuff like nscd on busy 
> servers.
> 
> Better nagios pages me for dbmail/mysql failure, rather than that a whole
> machine needs to be rebooted.
> 
> Still, I do agree there's plenty room to improve the relevant code in the
> preforking framework. Feel free to file a new bug, or better yet a patch :-)
> 

-- 
  ________________________________________________________________
  Paul Stevens                                         [EMAIL PROTECTED]
  NET FACILITIES GROUP                     GPG/PGP: 1024D/11F8CD31
  The Netherlands_______________________________________www.nfg.nl

Reply via email to