Sascha Ottolski wrote:
Am Freitag, 22. Dezember 2006 21:55 schrieb Jim Fulton:
Does anyone know of something
that does what zdaemon does? daemontools seems somewhat close:
Going from the documentation, it doesn't seem to be as clever about
application restart. The documentation says nothing about
distinguishing between normal and abnormal restarts or avoiding
useless restarts when there are start-up errors.
daeomontools are definetely worth looking, i use it for some years now,
and never had problems. it wasn't updated in almost five years, since
it just works.
you are right about the restart issue: if a supervised process dies,
it's restarted, no matter why it died. what would an abnormal restart
be, that should not take place, anyway?
An abnormal exit is an exit due to some error, such as a segmentation
fault or running out of memory.
> in the sense, how would the
supervisor know thats it's abnormal?
It can check the exit status. Normal shutdowns typycally exit with
status 0. zdaemon (and supervisor2, which was obviously inspired by
zdaemon) has an exit-codes option to configure which exit codes
are normal. If the supervisor exists with one of these exit codes,
it should not be restarted.
FWIW, there's also "runit", obviously developed in the same spirit but
independend of daemontools: http://smarden.org/runit/useinit.html
This wants to run as process 1. This seems a bit intrusive.
And the python coded Supervisor2 made by Chris McDonough
This is interesting.
Jim Fulton mailto:[EMAIL PROTECTED] Python Powered!
CTO (540) 361-1714 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org
Zope3-dev mailing list