Funktion runJob (Pseudocrons) steigt ohne Fehler aus...

Gesperrt
Axel
Beiträge: 82
Registriert: Di 26. Aug 2003, 08:35
Kontaktdaten:

Funktion runJob (Pseudocrons) steigt ohne Fehler aus...

Beitrag von Axel » Di 28. Nov 2006, 10:06

Cont-Version: 4.6.4
Windows 2003 R2

Hallo zusammen,

nach einem Umzug von einem Win2000 Server auf einen Win2003 ist folgendes Phänomen zu beobachten:
Ruft man die Website auf erscheint im Browser eine leere weiße Seite. Erst wenn man diese 3-5 mal aktualisiert erscheint ganz normal die Website.
Fehlersuche führte bisher zu folgendem Ergebnis:
In der pseudo-cron.inc.php steht bei Zeile 172
for ($i=0;$i<count($PC_jobs);$i++) {
$bJobRunned = true;
runJob($PC_jobs[$i], $PC_jobDir, $PC_writeDir, $PC_useLog, $PC_debug);
}

Durch das testweise setzen von Messageboxen wurde geprüft bis zu welchem Punkt der Code ausgeführt wird. Das Problem liegt in der Funktion runJob.
Diese soll die Jobs, die in der Datei crontab.txt stehen, abarbeiten (bei mir stehen hier 5). Die erste wird abgearbeitet, dan steigt das Skript ohne Fehler aus. Aktualisiert man nun die Seite im Browser kommt das Skript bis zum 2 oder 3 Job und bricht dann wieder ab. Bei erneutem Aktualisieren schafft es schließlich den letzten Job und die Website wird korrekt angezeigt.

Hat irgendjemand eine Idee woher dieses Verhalten resultiert?

Danke & Gruß
Axel

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 » Di 28. Nov 2006, 10:36

Ich häng das mal zusammen, da sich das ja auf das hier bezieht:

http://www.contenido.org/forum/viewtopic.php?t=14668

Eine Idee, woher das Verhalten kommt habe ich nicht. Da sollte mal jemand was zu sagen, der Erfahrung mit dem IIS/Windows Server hat.

Aber einen Workaround hätte ich vielleicht: die Crons aus der "crontab.txt" müssen ja nicht zwangsläufig über den Pseudocron ausgeführt werden. Die Aufrufe müssten sich doch auch per Taskmanager (oder etwas ähnlichem für den IIS) machen lassen. Dann kann man die "crontab.txt" danach leer machen. Wenn keine Pseudocrons ausgeführt werden, sollten die ja auch nicht abbrechen können.

Gesperrt