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.