X-Git-Url: http://git.shiar.net/perl/plp/.git/blobdiff_plain/5d65ad9b409494bb4e7c98a27d29079e09b111f5..2f378f2720eee237f7dbe20643d6c2626c038580:/PLP/Backend/FastCGI.pm diff --git a/PLP/Backend/FastCGI.pm b/PLP/Backend/FastCGI.pm index 205ece1..8594a85 100644 --- a/PLP/Backend/FastCGI.pm +++ b/PLP/Backend/FastCGI.pm @@ -6,11 +6,16 @@ use PLP::Backend::CGI; use FCGI; use base 'PLP::Backend::CGI'; -our $VERSION = '1.00'; +our $VERSION = '1.01'; sub import { my $self = shift; + $PLP::interface = $self; my $request = FCGI::Request(); + $SIG{TERM} = sub { + $request->LastCall(); + }; + $SIG{PIPE} = 'IGNORE'; while ($request->Accept() >= 0) { $PLP::use_cache = !defined $ENV{PLP_CACHE} || $ENV{PLP_CACHE}; # before it's clean()ed delete $ENV{PATH_TRANSLATED}; @@ -46,8 +51,8 @@ Example F: #!/usr/bin/perl use PLP::Backend::FastCGI; -Then enable either I or I, and setup F -(often just create a F) with: +Then enable either I (recommended) or I, and +setup F (in new installs just create F) with: AddHandler fastcgi-script plp @@ -59,6 +64,30 @@ Then enable either I or I, and setup F FCGIWrapper /foo/bar/plp.fcgi .plp +=head1 DESCRIPTION + +This is usually the preferred backend, providing persistent processes +for speeds comparable to L and +reliability closer to L. + +Servers often feature auto-adjusting number of daemons, script timeouts, +and occasional restarts. + +=head2 Configuration directives + +PLP behaviour can be configured by setting environment variables. + +=over 16 + +=item PLP_CACHE + +Sets caching off if false (0 or empty), on otherwise (true or undefined). +When caching, PLP saves your script in memory and doesn't re-read +and re-parse it if it hasn't changed. PLP will use more memory, +but will also run 50% faster. + +=back + =head1 AUTHOR Mischa POSLAWSKY