These are some features that are not at all implemented and are core architectural changes. These go beyond what can be done with existing code base.
To avoid this pitfall, when server is started, it is forked off in separate processes. One process can monitor the worker instance and can be used for reporting purposes. In case the worker instance crashes, monitoring instance can restart it.
Since no plugged-in application will be running in monitoring instance, it will guaranteed that the server and application will be available all the time. However if an application is really buggy, this will lead to countless restart and could be problematic. Hence a configuration parameter is introduced that allows to limit maximum number of restarts of an application.
In order to cluster-enable OAS, we need to implement some basic functionality such as