in reply to Keeping children alive persistiently, intelligently
The first thing that comes to mind is to start off just making a folder for the info, and have each child create a log file named after it's pid, with it's arguments, a log of recent restarts (say, the last 5 min,).
I'd also have each process touch it's pid file every 10 seconds or so, so the parent which is polling the data can know that a pid file not touched in the last 30 seconds needs to have it's child killed and restarted a minute or so later.
Once you have the logic in for restarted dead/stopped children, it's just a matter of adding conditionals and changing the sleep time for the 5 minute stop. Similarly the custom processes will just take an additional conditional checking on the restart history.
Hope that helps,
- D
|
---|