Metadata-Version: 1.0
Name: pretaweb.healthcheck
Version: 1.0
Summary: Load balancer health checker for a Plone/Zope Instance
Home-page: https://github.com/collective/pretaweb.healthcheck
Author: Adam Terrey
Author-email: software@pretaweb.com
License: GPL
Description: 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
        
        
        
        Changelog
        =========
        
        
        1.0 (2011-06-24)
        ----------------
        
        - Removed force=yes option to prevent DoS attacks 
        - Output now to instance stderr
        
        
        0.1dev (unreleased)
        -------------------
        
        - Plone instance discovery / ZODB traveersal
        - Resource sub-requesting
        - Page xml interigation and sub-requesting
        - CSS interigation and sub-requesting
        - Second level page sub-requesting
        - Added verbose=yes for better output control
        - Added force=yes to force a re-check
        - Added ignoreResourceServerError=yes option to ignore 5xx errors returned by
          sub-resources
        
        
        
Keywords: Zope Plone load-balancing health-check haproxy
Platform: UNKNOWN
Classifier: Programming Language :: Python
