Something like this may already exist but this is what I'd like to see if it doesn't already.
IceGrid could monitor the health and status of applications that it starts. It could maybe do this by calling a “health” or “admin” interface on the application to pass a callback “health/status” interface that the application would then call back on at some configurable rate.
If the application stops calling this callback interface for some configurable time out period IceGrid would begin some recovery procedures. Such as to call the applications “admin” interface to attempt to shut it down cleanly. If that fails it could kill the application and restart it
This would detect if the application is still alive but not responding to requests. Using a test to check if the process is still alive may not detect this.

Reply With Quote