Michael Krauss: Aktion automatisch ausführen

Moin zusammen,

also, ich verwende eine MYSQL 5.0 Datenbank und PHP 5.2

Ich möchte bestimmte Abfragen ausführen ohne das der entsprechende User etwas dazutun muss, nach ablauf einer Zeitspanne die variieren kann.

Mal ein konkretes Beispiel:

Der User gibt etwas in die Datenbank, das nach 2h 34min und 30 sec ein anderes Script auslösen soll, das wiederrum in die Datenbank schreibt. Cronjobs fallen dabei schoneinmal weg, da das ganze möglichst Sekundengenau geschehen soll.

Ich könnte nun natürlich bei jedem Seitenaufruf prüfen ob die Zeit schon vorbei ist und ob er es dann machen soll...ich hätte es aber gerne so das er es in jedem Fall macht, auch ohne das der User da ist.

Ich hab nur leider keinen Schimmer wie ich das realisiere das er das Punkt genau macht...

Irgendjemand ne Idee oder nen Lösungsvorschlag?

Für Hilfe wäre ich echt Dankbar,

Grüße
Michael

  1. Hallo Michael,

    wenn man unabhaengig von den Besuchern etwas starten will, gibt es IMHO nun mal nix anderes als Cronjobs. Z.B. kannst Du jede Minute einen Job starten, der in die Datenbank schaut, ob dort was anliegt und falls ja, dieses ausfuehrt. Feiner, als eine Minute wird das aber trotzdem nicht gehen, fuerchte ich.

    Gruss Norbert

    1. Hallo Michael,

      wenn man unabhaengig von den Besuchern etwas starten will, gibt es IMHO nun mal nix anderes als Cronjobs. Z.B. kannst Du jede Minute einen Job starten, der in die Datenbank schaut, ob dort was anliegt und falls ja, dieses ausfuehrt. Feiner, als eine Minute wird das aber trotzdem nicht gehen, fuerchte ich.

      Gruss Norbert

      Nun irgendwas geben muss es ja im Prinzip, zumindest hab ich soetwas bereits gesehen... (Browsergames verwenden eine solche Technik z.B. des öfteren)... das mit der Minute und dem Cron habe ich bereits realisiert... ist allerdings zu ungenau :/

      1. Hi,

        kannst du nicht auf'm Server ein (PHP)-Skript laufen lassen dass die Datenbank alle X Sekunden abfragt, ob was zum ausfuehren da ist?

        Das (PHP)-Skript selbst kannst ja alle 5 Minuten per Cronjob killen und wieder starten, falls es mal "haengt" oder von aussen "aus Versehen" beendet wurde.

          1. Ola,

            evtl, hilft dass?

            http://phpclasses.ca/browse/file/929.html

            Ah das schaut intressant aus, das werde ich heute abend mal testen. Danke dir erstmal :)

      2. Hallo Michael,

        Nun irgendwas geben muss es ja im Prinzip, zumindest hab ich soetwas bereits gesehen...
        (Browsergames verwenden eine solche Technik z.B. des öfteren)...
        das mit der Minute und dem Cron habe ich bereits realisiert... ist allerdings zu ungenau :/

        hmm,
        dann musst Du die Frage anders formulieren:
        z.B. Auf meinem Root-Server soll ...

        Ansonsten gehe ich von einem Shared-Host bei 1&1 aus!

        Gruss Norbert

  2. Hi!

    Der User gibt etwas in die Datenbank, das nach 2h 34min und 30 sec ein anderes Script auslösen soll, das wiederrum in die Datenbank schreibt. Cronjobs fallen dabei schoneinmal weg, da das ganze möglichst Sekundengenau geschehen soll.

    Vielleicht kann man bei Eintrag in die DB durch den User eine Art Countdown-Script starten, dass nach der bestimmten Zeit das gewünschte Script startet?? Setzt natürlich voraus, dass dieses Script in den 2 1/2 Std. nicht beendet werden darf.
    Ich hab aber keine Ahnung, ob sich das wirklich vernünftig realisieren lässt. War nur so ein Gedanke.

    Gruß Anita