NAME¶
FCGI::ProcManager::MaxRequests - restrict max number of requests by each child
SYNOPSIS¶
Usage same as FCGI::ProcManager:
use CGI::Fast;
use FCGI::ProcManager::MaxRequests;
my $m = FCGI::ProcManager::MaxRequests->new({
n_processes => 10,
max_requests => 100,
});
$m->manage;
while( my $cgi = CGI::Fast->new() ) {
$m->pm_pre_dispatch();
...
$m->pm_post_dispatch();
}
DESCRIPTION¶
FCGI-ProcManager-MaxRequests is a extension of FCGI-ProcManager that allow
restrict fastcgi processes to process only limiting number of requests. This
may help avoid growing memory usage and compensate memory leaks.
This module subclass FCGI::ProcManager. After server process max_requests number
of requests, it simple exit, and manager starts another server process.
Maximum number of requests can be set from PM_MAX_REQUESTS environment
variable, max_requests - constructor argument and max_requests accessor.
OVERLOADED METHODS¶
new¶
my $pm = FCGI::ProcManager::MaxRequests->new(\%args);
Constructs new proc manager object.
max_requests¶
$pm->max_requests($max_requests);
my $max_requests = $pm->max_requests;
Set/get current max_requests value.
handling_init¶
Initialize requests counter after new worker process forks.
pm_post_dispatch¶
Do all work. Decrements requests counter after each request and exit worker when
needed.
USING WITH CATALYST¶
At this time, Catalyst::Engine::FastCGI do not allow set any args to
FCGI::ProcManager subclass constructor. Because of this we should use
environment PM_MAX_REQUESTS ;-)
PM_MAX_REQUESTS=100 ./script/myapp_fastcgi.pl -n 10 -l <host>:<port> -d -M FCGI::ProcManager::MaxRequests
SEE ALSO¶
You can also see FCGI::Spawn, but it don't support TCP sockets and try use
CGI::Fast...
AUTHOR¶
Vladimir Timofeev, "<vovkasm at gmail.com>"
BUGS¶
Please report any bugs or feature requests to
"bug-fcgi-procmanager-maxrequests at rt.cpan.org", or through the
web interface at
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=FCGI-ProcManager-MaxRequests
<
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=FCGI-ProcManager-MaxRequests>.
I will be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
SUPPORT¶
You can find documentation for this module with the perldoc command.
perldoc FCGI::ProcManager::MaxRequests
You can also look for information at:
- •
- RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=FCGI-ProcManager-MaxRequests
<http://rt.cpan.org/NoAuth/Bugs.html?Dist=FCGI-ProcManager-MaxRequests>
- •
- AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/FCGI-ProcManager-MaxRequests
<http://annocpan.org/dist/FCGI-ProcManager-MaxRequests>
- •
- CPAN Ratings
http://cpanratings.perl.org/d/FCGI-ProcManager-MaxRequests
<http://cpanratings.perl.org/d/FCGI-ProcManager-MaxRequests>
- •
- Search CPAN
http://search.cpan.org/dist/FCGI-ProcManager-MaxRequests/
<http://search.cpan.org/dist/FCGI-ProcManager-MaxRequests/>
- •
- Source code repository
http://svn.vovkasm.org/FCGI-ProcManager-MaxRequests
<http://svn.vovkasm.org/FCGI-ProcManager-MaxRequests>
ACKNOWLEDGEMENTS¶
COPYRIGHT & LICENSE¶
Copyright 2008 Vladimir Timofeev.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.