Melli: Wie am besten einen stündlichen Aufruf erstellen?

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

  1. Hallo,

    naja Javascript kein Problem. Dazu muss dein Rechner laufen und der Browser offen sein. Dann: setTimeout() nutzen.

    Gruß

    jobo

  2. 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

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  3. 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

    1. 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

  4. 'ǝɯɐ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

    --
    Sleep is a poor substitute for caffeine.
    1. 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

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. 'ǝɯɐ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

        --
        Sleep is a poor substitute for caffeine.