Frank S.: Skript jede Sekunde ausführen

Hallo zusammen,

Ich habe ein PHP-Skript geschrieben, was ich jede Sekunde laufen lassen will. Ich hab mir dann damit beholfen, dass ich in den HTML-Header einfach zunächst einmal ein
<meta http-equiv="refresh" content="1; url=test.php">
eingebaut habe.

Funktioniert auch so weit einwandfrei. Jetzt suche ich jedoch nach einer Möglichkeit, dieses Skript automatisiert ausführen zu lassen und ohne, dass der Anwender hierfür irgendein Fenster öffnen muss.

Ich habe im Internet zwar diverse Scheduler-Software und Cronjob-Programme gefunden, allerdings nichts, was ein Skript jede Sekunde ausführen könnte.
Kennt da irgendjemand ein Programm für (darf ruhig auch etwas kosten).

Gruß,
Frank

  1. Hi,

    Ich habe ein PHP-Skript geschrieben, was ich jede Sekunde laufen lassen will.

    Zu welchem Zweck?

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. Das ganze ist ein lokaler Webserver, der Liveergebnisse ins Internet hochladen soll. Aus Sicherheitsgründen darf übers Internet niemand auf den Server zugreifen.

      1. Hi,

        Das ganze ist ein lokaler Webserver, der Liveergebnisse ins Internet hochladen soll.

        Ergebnisse von was?

        Ist die „Auflösung“ von einer Sekunde wirklich erforderlich?
        Reicht es nicht auch, bspw. jede Minute die Ergebnisse hochzuladen - alle aus dem Zeitraum zusammen, in einem Request gebündelt?

        MfG ChrisB

        --
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
        1. Hi,

          Das ganze ist ein lokaler Webserver, der Liveergebnisse ins Internet hochladen soll.

          Ergebnisse von was?

          Ist die „Auflösung“ von einer Sekunde wirklich erforderlich?
          Reicht es nicht auch, bspw. jede Minute die Ergebnisse hochzuladen - alle aus dem Zeitraum zusammen, in einem Request gebündelt?

          MfG ChrisB

          Livesportergebnisse - da diese für Livewetten genutzt werden sollen und sich alle 1-2 Sekunden ändern können, reicht nicht einmal pro Minute sondern halt jede Sekunde...

          1. Moin!

            Livesportergebnisse - da diese für Livewetten genutzt werden sollen und sich alle 1-2 Sekunden ändern können, reicht nicht einmal pro Minute sondern halt jede Sekunde...

            Hm. Da müssen wir jetzt aber erst mal den Anwalt fragen ob wir uns strafbar machen, wenn wir Dir antworten.

            Außerdem frage ich mich gerade ob die von Dir angestrebte Technologie (im harten Einsatz) funktionieren kann. Das http-Protokoll welches Du mutmaßlich nutzen willst ist nicht gerade für Echtzeitanwendungen ausgelegt. Möglicherweise brauchst Du was ganz anderes.

            Fangen wir bei der Frage an, wo die Daten denn herkommen.

            MFFG (Mit freundlich- friedfertigem Grinsen)

            fastix

  2. Ich habe im Internet zwar diverse Scheduler-Software und Cronjob-Programme gefunden, allerdings nichts, was ein Skript jede Sekunde ausführen könnte.

    Unter unixoiden Systemen ist cron das Mittel der Wahl und praktisch in jeder Distribution enthalten.

    Unter Windows findet sich seit längerem den Task Scheduler.

    Beide können das von dir beschrieben erledigen.

    1. Hallo,

      Ich habe im Internet zwar diverse Scheduler-Software und Cronjob-Programme gefunden, allerdings nichts, was ein Skript jede Sekunde ausführen könnte.

      Unter unixoiden Systemen ist cron das Mittel der Wahl und praktisch in jeder Distribution enthalten.
      Unter Windows findet sich seit längerem den Task Scheduler.
      Beide können das von dir beschrieben erledigen.

      nicht direkt. Beiden gemeinsam ist die Minute als kürzestes Intervall.
      Mich interessiert das Ziel, das Frank erreichen will. Skripte im Sekundentakt laufen zu lassen, erscheint mir nicht besonders sinnvoll. Eventuell möchte er auf Ereignisse reagieren. Aber das ist alles Spekulation :-)

      Freundliche Grüße

      Vinzenz

      1. nicht direkt. Beiden gemeinsam ist die Minute als kürzestes Intervall.

        Das stimmt natürlich, mein Fehler.

  3. Hello,

    Ich habe ein PHP-Skript geschrieben, was ich jede Sekunde laufen lassen will. Ich hab mir dann damit beholfen, dass ich in den HTML-Header einfach zunächst einmal ein
    <meta http-equiv="refresh" content="1; url=test.php">
    eingebaut habe.

    Funktioniert auch so weit einwandfrei. Jetzt suche ich jedoch nach einer Möglichkeit, dieses Skript automatisiert ausführen zu lassen und ohne, dass der Anwender hierfür irgendein Fenster öffnen muss.

    MMn ist ds für den Host gesünder, das Script durchlaufen zu lassen und zwischendurch mit einem Sleep() ruhig zu stellen. Dazu musst du einen Prozess bauen, der im Hintergrund läuft. Auf einem Linunx-Host kannst Du das per PHP tun, indem Du die Exec-Funkition enstprechend aufrufst.

    Wenn Du Dir ein Script 'dauerlauf.php' erstellst, das eine Endlosschleife ausführt, dann kannst Du das mit

    <?php   ### start_dauerlauf.php ###

    echo "<h1>Starte Script</h1>\n";

    $pid = exec("/usr/local/bin/php dauerlauf.php > /dev/null & echo $!");

    echo "<p>Script inter PID $pid gestartet</p>\n";

    ?>

    diesem Hilfsscript, das Du per Browser aufrufst, starten.

    Wenn Du in die Schleife des Dauerlauf-Scriptes z.B. die Prüfung auf eine vorhandene Dummy-Datei einbaust (Schleife läuft nur solange, wie die Datei vorhanden ist), dann kannst Du es auch wieder per PHP stoppen, indem Du einfach die Datei weglöschst. Das Script kann dann enden, oder einfach nichts ausführen, je nachdem, wie Du es programierst.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de