NAME
    Catalyst::Plugin::AutoRestart - Catalyst plugin to restart every 'n'
    requests

SYNOPSIS
    use Catalyst qw/AutoRestart/;

     __PACKAGE__->config->{Plugin::AutoRestart} = {
            active => '1',
            check_each => '20',
            max_bits => 576716800,
            min_handled_requests => '150',
     }

     <Plugin::AutoRestart>
        active   1
        check_each   20
        max_bits  576716800
        min_handled_requests   150
     </Plugin::AutoRestart>

DESCRIPTION
    Catalyst plugin to force the application to restart after a configurable
    number of requests handled. This is intended as a bandaid to deal with
    problems like memory leaks; it's here to buy you time to find and solve
    the underlying issues.

CONFIGURATION
  active
    This is used to turn the plugin on and off

  check_each
    This is the number of requests to wait between checks

  min_handled_requests
    Minimum application requests before process size check starts occurring.
    This is to prevent your application processes from exiting immediately
    in case your application is bigger than your max_bits limit.

    The default is 500 requests

  max_bits
    This is the size virtual memory can grow to before triggering a restart

    The default is 524288000 bits (500 mb)

SEE ALSO
    For trying to solve memory leaks see Devel::Leak::Object

EXTENDED METHODS
    The following methods are extended from the main Catalyst application
    class.

  setup
    Create sane defaults

  handle_request
    Count each handled request and when a threshold is met, restart.

  _debug_process_table
    Send to the log the full running process table

AUTHORS
     John Napiorkowski <john.napiorkowski@takkle.com>
     John Goulah       <jgoulah@cpan.org>

COPYRIGHT
    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

