Re: Problem with CGI::Fast process

David Birnbaum <[email protected]>
Newsgroups gmane.comp.web.fastcgi.devel
Message-ID <[email protected]>
If your script crashes too many times in a row, Apache will stop forking it so 
it doesn't bog the server down.  You can control this behavior with one of the 
FastCGI directives, I believe.

Better - don't make edits on your production scripts, work in a dev environment 
and only copy things over once you get everything debugged.

David.

-----

On Mon, 6 Aug 2007, XC wrote:

> Dear FCGI users:
>
> I am very new to FCGI, so please bear with my silly questions.: -)
>
> My problem is whenever I make a fatal error in my FCGI script
> (mason_handler.fcgi), any visit to my website will stuck. I can not
> see the FCGI process through:
>
>   ps aux | grep fcgi
>
> Even if I correct the error, the FCGI process often comes back after
> more than 10 minutes. I am not sure how and why this takes so much
> time to recover from an error in the FCGI script?
>
> If I update other code, I can use 'kill -9' to restart my FCGI
> process. but in this case, my FCGI process can be invoked and I dont
> know how to get my FCGI script back to work immediately after I
> correct the error.. Is this normal or abnormal in FCGI and Perl ??  My
> FCGI script is as following and I am using CGI::Fast 1.07, HTML::Mason
> 1.36, Apache 2.0.59, mod_fastcgi/2.4.2, the latest Debian box..
>
> Thank for your time
>
> LH
>
> ============== mason_handler.fcgi =============
> #!/usr/bin/perl
>
> use strict;
> use warnings;
> use CGI::Fast;
> use HTML::Mason::CGIHandler;
>
> {
>    package HTML::Mason::Commands;
>    use MyApp::Utils qw[ :myapp ];
>    use DBIx::Simple;
>    use YAML;
> }
>
> # lazily-instantiated variables
> my $cgi;
> my $h;
>
> while ($cgi = new CGI::Fast())
> {
>    my $h ||= HTML::Mason::CGIHandler->new
>    (
>        comp_root     => '/shared/lihao/public_html',
>        data_dir      => '/shared/lihao/var/mason/',
>        allow_globals => [ qw/ $db %session / ],
>        error_mode    => 'fatal',
>    );
>
>    # hand off to mason
>    eval { $h->handle_cgi_object($cgi) };
>    if (my $raw_error = $@) {
>        print $raw_error;
>    }
> }
>
> exit 0;
> ___________________________________
> fastcgi-developers mailing list
> http://fastcgi.com/fastcgi-developers/
>
___________________________________
fastcgi-developers mailing list
http://fastcgi.com/fastcgi-developers/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.