* Laurent Bercot [2006-10-30 14:38:47 +0100]: > I also tend to think this feature goes outside the scope of "basic" > supervision tools as runit and daemontools. Sure, it could be integrated > in such tools, and not even make them too bloated; nevertheless, I like > the simple guarantees that they offer, and would prefer not to alter > their semantics too much. > > The feature can rather easily be implemented on a higher layer. You > could write a program that checks the restarting rate (provided runit > notifies some place when it restarts the service - I really need to > finish that notify library of mine :/ - is a program currently able > to listen to such an event without polling anything ?) and touches the > "down" file when the restart rate is too high. This is something we implemented in the srv wrapper program for Annvix: http://svn.annvix.org/cgi-bin/viewvc.cgi/srv/trunk/?root=tools What it does is before it "releases" a service, is it checks to see if it's looping and if it is, marks it down. Of course, the problem here is at boot... since srv isn't starting services (srv is a tool like sv or the "service" command with initscripts), it won't help so there is some validity to wanting this at the runit layer... ie. we can check for looping all we want in srv, but when runsvdir is fired up in stage 2, unless you put these checks in every finish script and/or run script, it won't help at all. Anyways, does runsv run the finish script if run exits on it's own? I was under the impression that finish was called by sv when you mark a service down (ie. if i was running apache supervised and i sent it a kill -9 (without using sv), would runsv actually execute the finish script or see that run died and just restart run? -- {FEE30AD4 : 7F6C A60C 06C2 4811 FA1C A2BC 2EBC 5E32 FEE3 0AD4} mysql> SELECT * FROM users WHERE clue > 0; Empty set (0.00sec)