Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
Introduction ============ Provides a mechanism to front-end load balancers to check whether a Zope instance with one or more Plone sites installed is suitable for sending requests to. Suitability for a load balancer in this case is - Are the Plone sites and their sub-resources pre-cached into memory? and - Do the Plone sites and their sub-resources return valid HTTP status codes? The health check works in this way: - http://my.zope.instance/@@healthcheck is called - If the health check has already run successfully 200 OK is returned - The health checker traverses the ZODB looking for Plone insistences - For each instance the front page is sub-requested (by making a sub-requests, this forces the relevant Zope objects in the cache) - The front page is inspected for second level pages and resources associated with the page like images and css. - Those resources are sub-requested to bring them into the cache - CSS is inspected for resources and those resources and also sub-requested - If successful a status code of 200 OK is returned otherwise 503 Service Unavailable is returned The health check will fail if - The Plone front-page returns a 4xx client error or a 5xx server error. Except for 401 Unauthorised access (unauthorised access is valid because a restricted Plone site is a valid situation.) - If a sub-resource returns a 5xx (server) error. Options - http://my.zope.instance/@@healthcheck?verbose=yes gives more output to the instance logs - http://my.zope.instance/@@healthcheck?ignoreResourceServerError=yes ignores 5xx server errors on sub-requests to resources discovered on the front page or CSS