set_time_limit(0); abbruch aber wie???
hanns
- php
hallo,
ich vewende set_time_limit(0); in php.
die scripte rufe ich offline über meinen browser auf.
gelegentlich kommt es vor, dass ich ein skript, was sagen
wir 60 minuten dauert. abbrechen möchte.
wie kann ich das? habe foxserv installiert.
gruss
hanns
Hallo,
entweder:
set_time_limit(3600);
oder
du nimmst beim Start den Timestamp, dann innerhalb des Programmes, dort wo er solange (60 Min) rechnet, überprüfst du ob die Differrenz zwischen dem Starttimestamp und dem jetzigen, wenn 3600 Sekunden unterschied sind, dann beendest du das Programm mit exit; oder mit break; die Schleife.
MFG
Andavos
Hallo,
entweder:
set_time_limit(3600);
ich glaube ich bin falsch verstanden worden.
ich will nicht nach 3600 abbrechen, sondern
wann es mir gerade so passt.
und wann es mir passt, dass ist rein zufällig.
kurz gesagt: ich will jederzeit abbrechen können und
nicht nach einer im skrip vorgebenen zeit.
Hallo,
du kennst doch das schöne Stop/Abbrechschild, oder??
MFG
Andavos
Hello,
ich vewende set_time_limit(0); in php.
die scripte rufe ich offline über meinen browser auf.
gelegentlich kommt es vor, dass ich ein skript, was sagen
wir 60 minuten dauert. abbrechen möchte.
Dazu hatte ich hier Ende letzten Jahres eine längere Abhandlung verfasst, leider noch nicht als Tipps und Tricks. Versuch bitte mal, sie zu finden, und sag dann Bescheid.
Suchvorschlag:
author:tom set_time_limit
Vorgehensweise für die Vorgangskontrolle:
Vorgangsnummer erzeugen,
Prozessnummer ermitteln
Startzeitpunkt, maximale Laufzeit, Bemerkungen in DB eintragen
im Script eine Schleife durchlaufen, die immer nachfragt, ob der aktuelle Prozess noch weiterlaufen darf. Wenn nicht, dann eben eine Meldung ins Log schreiben, in der DB den "stopped-Marker" setzen und abbrechen lassen, sonst nächsten Schleifendurchlauf.
Mit einem extra Script kann man nun die DB abfragen auf alle "non stopped processes" und ggf. den Zwangsstopp-Marker, der in der Schleife des Prozesses immer abgefragt wird, setzen.
Alternativ kann man auch die Brutalmethode nutzen und ein "kill -9 <PID>" mittels system() absetzen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom