Thread View: pl.comp.lang.perl
3 messages
3 total messages
Started by Slawek
Wed, 28 Oct 2009 14:19
Wywalanie się skryptu fastcgi
Author: Slawek
Date: Wed, 28 Oct 2009 14:19
Date: Wed, 28 Oct 2009 14:19
42 lines
2157 bytes
2157 bytes
Witam,
Raz na kilka miesięcy przestaje mi działać skrypt fastcgi na serwerze.
FastCGI: comm with server "/home/httpd/cgi-bin/testcgi" aborted: idle
timeout (30 sec)
FastCGI: incomplete headers (0 bytes) received from server
"/home/httpd/cgi-bin/testcgi"
Robie więc restart apacha i wszystko wraca do normy.
Postanowiłem więc zrobić z tym porządek czyli zrozumieć co jest tego
przyczyną i to naprawić.
Problem może nastąpić gdy jest obciążona baza danych lub błąd w skrypcie np
division by zero
Ok, takie coś powoduje zakończenie skryptu i apache ponownie ładuje skrypt i
wszystko śmiga dalej.
Jednak raz na jakiś czas coś się psuje.
Stworzyłem więc poniższy skrypcik który co piąte uruchomienie powoduje błąd
division by zero.
W przeglądarce mam informacje o błędzie ale po odświerzeniu strony
widać że skrypt został ponownie załadowany przez apacha ponieważ licznik $l
został wyzerowany.
Jednak raz na jakiś czas po naszym błędzie skrypt się nie podnosi i tylko
restart apacha pomoże.
Co wg Was może być przyczyną?
Pozdr
Sławek
use CGI::Fast;
my $licz=1;
while(my $foo= new CGI::Fast )
{
if($licz==5)
{
$b=0;
$a=10/$b;
}
print "Content-Type: text/html; charset=iso-8859-2\n\n";
print "test $licz\n";
$licz++;
}
Re: Wywalanie się skryptu fastcgi
Author: Adam Osuchowski
Date: Wed, 28 Oct 2009 14:55
Date: Wed, 28 Oct 2009 14:55
19 lines
2099 bytes
2099 bytes
Slawek wrote: > Co wg Was może być przyczyną? Zakładając, że też masz standardowy fcgi process manager od apacha to ja dostaje w logach coś takiego: Wed Oct 28 15:42:59 2009] [error] [client 192.168.8.17] FastCGI: comm with (dynamic) server "/home/services/httpd/html/test.fcgi" aborted: (first read) idle timeout (30 sec) [Wed Oct 28 15:42:59 2009] [error] [client 192.168.8.17] FastCGI: incomplete headers (0 bytes) received from server "/home/services/httpd/html/test.fcgi" [Wed Oct 28 15:42:59 2009] [warn] FastCGI: (dynamic) server "/home/services/httpd/html/test.fcgi" has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 600 seconds Więc jak widać, fcgi-pm, po kilku padach aplikacji w krótkim odstępie czasu, decyduje się na czasowe zawieszenie jej uruchamiania (podobnie jak to robi np. init gdy aplikacja klasy respawn z /etc/inittab zbyt szybko pada). Ale jeśli to się dzieje raz na kilka miesięcy to raczej nie tędy droga. Najlepiej by było gdybyś w momencie występowania tego problemu (w naturalnych warunkach) podłączył się stracem do fcgi-pm i zobaczył co on próbuje zrobić i ew. dlaczego nie odpala aplikacji. Dobrym pomysłem (jak zawsze) jest też przeglądnięcie logów. U mnie ładnie napisał dlaczego nie odpala.
Re: Wywalanie się skryptu fastcgi
Author: Slawek
Date: Wed, 28 Oct 2009 15:55
Date: Wed, 28 Oct 2009 15:55
19 lines
1954 bytes
1954 bytes
> [Wed Oct 28 15:42:59 2009] [warn] FastCGI: (dynamic) server > "/home/services/httpd/html/test.fcgi" has failed to remain running for 30 > >seconds given 3 attempts, its restart interval has been backed off to 600 > seconds > Więc jak widać, fcgi-pm, po kilku padach aplikacji w krótkim odstępie > czasu, decyduje się na czasowe zawieszenie jej uruchamiania (podobnie jak > to robi np. init gdy aplikacja klasy respawn z /etc/inittab zbyt szybko > pada). Ale jeśli to się dzieje raz na kilka miesięcy to raczej nie tędy > droga. Najlepiej by było gdybyś w momencie występowania tego problemu > (w naturalnych warunkach) podłączył się stracem do fcgi-pm i zobaczył co > on próbuje zrobić i ew. dlaczego nie odpala aplikacji. Dobrym pomysłem > (jak zawsze) jest też przeglądnięcie logów. U mnie ładnie napisał > dlaczego nie odpala. Dzięki, nie widziałem [warn] ponieważ miałem to wyłączone z logów. Teraz jest wszystko jasne. Pozdr Sławek
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads