Modifizierte Perl Module werden nicht sofort neu geladen ?!

Apache, Lighttpd, nginx, Cherokee
Post Reply
netdiver030
Posts: 13
Joined: 2004-12-14 20:06
 

Modifizierte Perl Module werden nicht sofort neu geladen ?!

Post by netdiver030 »

Hallo Leute

Ich verzweifle hier gerade an einem Suse9.3/Apache2/Perl5.6.8/Plesk7.5 System.

Folgendes Problem:
Ã?nderungen an meinen Perl Modulen werden erst nach kurzer Zeit (2-3min) vollständig aktiv und bis dahin bekomme ich bei einem Refresh des Perl Script Outputs im Browsere sporadisch die alten Werte oder neue Werte angezeigt. Das ganze geht sogar so weit, dass teilweise alte Variablen Inhalte angezeigt werden - was ich nu garnicht verstehe ?!?!?! (okok .. hier hatte ich noch ein paar nicht initialisierte Hash Werte - aber das ist raus)

Hab ich da mal wieder irgend ein tolles Flag übersehen?!
Oder sind Perl Module einfach mal so doof?

Ã?brigens .. am Browser liegt das ganze nicht. Das kann ich mit 100%iger Sicherheit sagen. Ich gebe einen Timecode aus und dieser zeigt mit immer eine fortlaufende Zeit an. Aber wie gesagt teilweise den alten modul Code.

Hier mal ein kleines Beispiel:
Perl Modul MyMod::Blubber

sub Bla()
{
printf("A");
}

Browser output: Klar ...
A (..und dahinter noch ein Timecode)

Ich ändere das Modul
sub Bla()
{
printf("B");
}

Browser output:
A (F5) B (F5) A (F5) A (F5) B .... ?!?!?!!?!

Ok, hat da jemand eine Idee?
Wäre echt dankbar ..

Grüße,

Marco
bfrackie
Posts: 63
Joined: 2003-08-26 12:00
 

Re: Modifizierte Perl Module werden nicht sofort neu geladen ?!

Post by bfrackie »

das klingt so, als würdest du mod_perl nutzen. soweit ich mich erinner, ist das ein (gewolltes) verhalten, der perl-code bleibt ja im speicher. das du unterschiedliche ergebnisse erhälst, erklärt sich daraus, das manche threads den neuen code haben, manche den alten.

es gibt für mod_perl irgendwo so ein reload-modul, aber dafür würde ich mal auf perl.apache.org schauen.

bart
Post Reply