Wie am besten einen stündlichen Aufruf erstellen?
Melli
- php
0 jobo0 Tom0 Vinzenz Mai0 jobo
1 Shadowcrow0 Tom
Hallo liebe SelfHTML-Gemeinde!
Ich bin gerade dabei ein PHP-Programm zu erstellen, verzweifele aber an einer Stelle, für die ein stündlicher Aufruf einer PHP-Datei notwendig ist (z.B. für ein Backup, wobei dieses natürlich nicht stündlich notwendig ist bei meinem kleinen Programm).
Am liebsten würde ich dies mit PHP selbst lösen, doch fällt mir hier absolut nicht ein, wie man hier einen selbständigen Aufruf erstellen soll. Alternativ geht natürlich auch ein Cronjob, der die PHP-Datei aufruft, doch vielleicht weiß jemand von euch wie es auch mit PHP alleine oder notfalls noch JavaScript geht.
Vielen Dank für eure Hilfe und liebe Grüße
Melli
Hallo,
naja Javascript kein Problem. Dazu muss dein Rechner laufen und der Browser offen sein. Dann: setTimeout() nutzen.
Gruß
jobo
Hello,
Am liebsten würde ich dies mit PHP selbst lösen, doch fällt mir hier absolut nicht ein, wie man hier einen selbständigen Aufruf erstellen soll. Alternativ geht natürlich auch ein Cronjob, der die PHP-Datei aufruft, doch vielleicht weiß jemand von euch wie es auch mit PHP alleine oder notfalls noch JavaScript geht.
Mit PHP kannst Du das auf Linux-Hosts dann lösen, wenn Du mittels exec() einen PHP-Interpreter starten darfst und ihn in den Hintergrund stellen darfst. Damit wird ein eigenständiger Prozess abgespalten, der weiterlebt, wenn das (über den Browser aufgerufene) Startscript stirbt.
Wenn Du nun das Timelimit für CLI-Programme ausschalten darfst, dem Prozess eine Endlosschleife einbaust, dann lebt dieser Prozess solange, bis der Host neu gestartet wird, oder er zwangsweise beendet wird oder sich eben selber beendet.
In der Endlosschleife kann dieser Prozess nun seinerseits wieder andere Prozesse abspalten, die dann die eigentlichen Arbeiten übernehmen.
Mittels einer Kontrolldatei (für die PID) kann man derartige Prozesse finden und dann gezielt stoppen. Es empfiehlt sich, den Prozess sich selbst beenden zu lassen, wenn die die PID-Datei gelöscht wurde...
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo,
Am liebsten würde ich dies mit PHP selbst lösen,
warum kompliziert, wenn es ...
Alternativ geht natürlich auch ein Cronjob, der die PHP-Datei aufruft,
... einfach geht. Genau für solche Aufgaben wurden cronjobs erfunden. Cronjobs erledigen ihre Aufgabe sehr zuverlässig.
Freundliche Grüße
Vinzenz
Hallo,
warum kompliziert, wenn es ...
... einfach geht. Genau für solche Aufgaben wurden cronjobs erfunden. Cronjobs erledigen ihre Aufgabe sehr zuverlässig.
(;-). Kurz und schmerzlos und auf den Punkt.
Gruß
jobo
'ǝɯɐu$ ıɥ
Hallo liebe SelfHTML-Gemeinde!
Ich bin gerade dabei ein PHP-Programm zu erstellen, verzweifele aber an einer Stelle, für die ein stündlicher Aufruf einer PHP-Datei notwendig ist (z.B. für ein Backup, wobei dieses natürlich nicht stündlich notwendig ist bei meinem kleinen Programm).
je nachdem wieviel traffic du auf deinem webspace hast, kannst du das script parasitär starten - also wenn irgendeine datei aufgerufen wird startet diese wiedwerum das script (kann man natürlich noch ne sicherung einbauen das das nicht zu oft passiert).
ssnɹƃ
ʍopɐɥs
Hello,
Ich bin gerade dabei ein PHP-Programm zu erstellen, verzweifele aber an einer Stelle, für die ein stündlicher Aufruf einer PHP-Datei notwendig ist (z.B. für ein Backup, wobei dieses natürlich nicht stündlich notwendig ist bei meinem kleinen Programm).
je nachdem wieviel traffic du auf deinem webspace hast, kannst du das script parasitär starten - also wenn irgendeine datei aufgerufen wird startet diese wiedwerum das script (kann man natürlich noch ne sicherung einbauen das das nicht zu oft passiert).
... was allerdings auch bedingt, dass sie mittels exec() einen PHP-Interpreter starten kann. Oder siehst Du noch eine andere Möglichkeit?
Die schmutzigste Lösung wäre es, es einfach in andere häufig benutzte PHP-Scripte zu includen. Meintest Du das eventuell? Dann würde dieses Script den anderen etwas von der erlaubten Laufzeit stehlen.
Wenn man das will, kann man einfach den autoprepend / autoappend-Modus nutzen.
http://de3.php.net/manual/en/ini.core.php#ini.auto-append-file
http://de3.php.net/manual/en/ini.core.php#ini.auto-prepend-file
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
'ǝɯɐu$ ıɥ
Die schmutzigste Lösung wäre es, es einfach in andere häufig benutzte PHP-Scripte zu includen. Meintest Du das eventuell? Dann würde dieses Script den anderen etwas von der erlaubten Laufzeit stehlen.
Wenn man das will, kann man einfach den autoprepend / autoappend-Modus nutzen.
http://de3.php.net/manual/en/ini.core.php#ini.auto-append-file
http://de3.php.net/manual/en/ini.core.php#ini.auto-prepend-file
das meinte ich - quick and dirty, wie guter sex ;-)
fällt mir gerade ein, es gibt ja noch cronjob.de.
ssnɹƃ
ʍopɐɥs