Article View: pl.comp.lang.perl
Article #52287obiekty + fastcgi - destruktor nie działa?
From: Mateusz Szczyrzyca
Date: Tue, 27 Sep 2011 14:07
Date: Tue, 27 Sep 2011 14:07
56 lines
2710 bytes
2710 bytes
Witam serdecznie,
Mam małą aplikację z użyciem FCGI. Powiedzmy, że użyję przykładu Pralni.
Mam w niej powiedzmy Pralka.pm (obiekt)
W tym obiekcie mam różne funkcje (pranie(), plukanie(), itp), w tym jedna
metoda (np: programator()), która bada zmienną przesłaną do obiektu Pralka z
poziomu pętli FCGI i dopiero odpalająca odpowiednie funkcje.
O ile wewnątrz obiektu Pralka użyję jakieś inne obiekty
(np: Pompa.pm, Suszarka.pm) to z nimi jest wszystko ok. Natomiast problem
jest z Pralką, dezaktywuję ją w głównej pętli FCGI ,,książkowo'' czyli
za pomocą `undef` jak widać na poglądowym kodzie:
#v+
my $request = FCGI::Request( );
while( $request->Accept( ) >= 0 )
{
[ tutaj różne takie ]
switch( $url )
{
case( /wstepne/ )
{
$Pralka = Pralka-new( \%Pranie );
$html1 = $Pralka->programator( 'silnik' );
$html2 = $Pralka->programator( 'pompa' );
$html3 = $Pralka->programator( 'pranie_wstepne' );
$Pralka = undef;
}
}
[ $html[1-3] później użyte do umieszczenia w kodzie HTML ]
}
#v-
Jednakże destruktor Pralki się w ogóle nie zgłasza. Normalnie bym to
zignorował, ale powstał z tego tytułu pewien problem... otóż każda
funkcja z obiektu Pralka mi się 2x wykonuje, każda. Sprawdzałem,
program, bazę danych, i to niestety prawda...
Oczywiście sprawdziłem i żadna z funkcji nie jest zapętlona, żadnych tam
rekurencji i w ogóle nie powinno to 2x więcej wody i prądu zużywać. :-)
Oczywiście próbowałem $Pralka = undef, undef $Pralka, ale Pralka wydaje
się być nieśmiertelna.
Nie wiem... może coś przeoczyłem, ale proszę o drobną wskazówkę co
jest powodem nieśmiertelności tej pralki u mnie... a tym samym dwukrotnego
odpalania się wywoływanych metod... chyba, że to cecha FCGI i permamentnego
uruchomienia?
Dzięki z góry,
Pozdrawiam
Technical Details
Message-ID:
<slrnj83m52.spb.mateusz@jabber.abstynenci.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail From: Mateusz Szczyrzyca <mateusz@abstynenci.pl> Newsgroups: pl.comp.lang.perl Subject: obiekty + fastcgi - destruktor nie działa? Date: Tue, 27 Sep 2011 14:07:30 +0000 (UTC) Organization: http://onet.pl Lines: 57 Message-ID: <slrnj83m52.spb.mateusz@jabber.abstynenci.pl> Reply-To: Mateusz Szczyrzyca <mateusz@abstynenci.pl> NNTP-Posting-Host: ip-85-198-234-216.broker.com.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1317132450 4110 85.198.234.216 (27 Sep 2011 14:07:30 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Tue, 27 Sep 2011 14:07:30 +0000 (UTC) User-Agent: slrn/0.9.9p1 (Linux) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit