Hello,
Uff. Das war viel.
Sofern ich alles richtig verstanden habe, müsste die Funktion bei mir laufen. Ich könnte also problemlos sie erlaubte Laufzeit ins Unendliche schrauben.
Ja, durch set_time_limit(0) wird die Prüfung ausgeschaltet.
Damit das Script dann aber keinen Mist baut, sollte ich das mit system() und der PID kontrollieren...soweit noch klar. Aber wie kann ich das kontrollieren? Und wie kann ichs abbrechen?
Genau. mit getmypid() und den anderen Funktionen dieser Familie holst Du Dir gleich am Anfang die Metadaten des Scriptes (PID, PPID, Startzeit) und trägst sie mittels Appendmode in ein Logfile ein.
Außerdem kannst Du das Script gelegentlich auch während der Laufzeit noch eine Kontrollmeldung eintragen lassen, z.B.
Auftrag 700, PID=29345, Startzeit 2004-09-11 23:01:02, 700 von 7.000 Mails erstellt
Dann weißt Du, dass es noch läuft.
Um es vom Browsr aus starten zu lassen, musst Du sowieso ignore_user_abort() benutzen, wenn es nach dem Schließen des Browserfensters weiterlaufen soll.
Mittels eines zweiten Scriptes oder eben einem intelligenten Affenformular kannst Du dann Dein Logfile einsehen und feststellen, ob da noch was rumgeistert.
Mittels system() Funktion und dem Systemprogramm "ps -aux" kannst du die laufenden Prozesse anzeigen lassen. Wenn Deiner (mit der PID, der PPID, der Startzeit) noch vorhanden ist, und keine sinnvollen Kontrollmeldungen mehr im Logfile auftauchen, ist was schiefgegangen.
Gehe ich recht in der Annahme, dass das Script, das du mir per Mail geschickt hast den tmp-Ordner auslesen soll?
Ja, aber bitte nicht veröffnetlichen, sondern nur einmal ausprobieren, mir das Ergebnis mitteilen und wieder vergessen...
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau