Haken bei ignore_user_abort()?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Haken bei ignore_user_abort()?

    Hallo,

    ich plane ein Script, das eigentlich Cronjobs brauchen würde, aber unabhängig davon funktionieren soll.

    Dabei bin ich auf die Funktion ignore_user_abort() gestoßen. Diese Funktion würde doch in Verbindung mit set_time_limit() auch - wie ein Cronjob - ein Script beispielsweise alle 3 Stunden ausführen können:

    Dazu würde ich das Script einmal starten, eine Endlosschleife einrichten und dann mit sleep() arbeiten, um die Verzögerung hinzubekommen.

    Wo ist da jetzt der Haken? Wäre ein solches Script spürbar schlecht für die Performance? Und was ist, wenn der Server abstürzt? Dann würde das Script ja auch nicht mehr laufen, oder?

    Meines Wissens nach verträgt sich set_time_limit() nicht mit einem eingeschalteten Safemod. Gibt es eine Möglichkeit, oben genannte Funktion auf eine andere Art zu erzielen?

    Vielen Dank für die Bemühungen schon mal im Voraus!

    Lg,
    Macks
    icedcream.de Webdesign Regensburg

  • #2
    Mach es dir nicht zu schwer. Es gibt viele Anbieter, bei denen man kostenlos online sowas wie einen Crontab einrichten kann. Der Anbieter ruft dann in definierten Intervallen eine bestimmte URL auf deinem Server auf.

    Kommentar


    • #3
      Erstmal danke für die Antwort.

      Das Ding ist, dass sowas auch bei Freespaceanbietern wie Funpic laufen soll, ohne, dass man zusätzlich einen Cronjob einrichten muss.

      D.h.: Ein Programm wird hochgeladen, konfiguriert per Install-Script eine Config-Datei, erstellt ein paar MySQL-Tabellen und soll dann etwas starten oder einrichten, das, wie ein Cronjob, ein bestimmtes Script in bestimmten Zeitintervallen aufruft.

      Der User, der mein Programm installiert, soll also zusätzlich nichts vornehmen müssen, außer dieses Install-Script laufen zu lassen, damit er loslegen kann.

      Ist so etwas realistisch? Wie machen es denn z.B. die ganzen guten und kostenpflichtigen Newsletter-Scripts? Muss man bei denen immer erst einen Cronjob einrichten, bevor man loslegen kann?

      Lg,
      Macks
      icedcream.de Webdesign Regensburg

      Kommentar


      • #4
        Wer ernsthaft Newsletter versendet, hat einen eigenen Server, nicht nur Webspace.
        Was soll dein Script denn regelmäßig machen? Muss das in festen Intervallen geschehen? Kann man das nicht bei normalen Webseiten-Requests mit erledigen?

        Kommentar


        • #5
          Original geschrieben von icecream

          Ist so etwas realistisch?
          Ich würde sagen: Nein!
          Das ist nur so ein "von hinten durch die Brust, vorne wieder raus, hoch durch das linke Auge aus dem rechten Ohr heraus in den Fuss"-Gefrickel.
          Zu deutsch: Viel zu umständlich!

          Original geschrieben von icecream

          Wie machen es denn z.B. die ganzen guten und kostenpflichtigen Newsletter-Scripts? Muss man bei denen immer erst einen Cronjob einrichten, bevor man loslegen kann?
          Alles Andere wäre, für einen ernsthaften Newsletter-Versender totaler Blödsinn.
          Dafür gibt es doch sowas schönes wie die Cronsjobs.
          Und wie onemorenerd schon sagte
          Es gibt zahlreiche Anbieter, bei denen man kostenlos cronjobs einrichten kann.
          Bestes Beispiel: cronjob.de
          Account einrichten, freischalten, Cron aktivieren dauert alles in allem nicht mehr als 5 Minuten.

          Kommentar


          • #6
            Re: Haken bei ignore_user_abort()?

            Original geschrieben von icecream
            Hallo,

            ich plane ein Script, das eigentlich Cronjobs brauchen würde, aber unabhängig davon funktionieren soll.

            Dabei bin ich auf die Funktion ignore_user_abort() gestoßen. Diese Funktion würde doch in Verbindung mit set_time_limit() auch - wie ein Cronjob - ein Script beispielsweise alle 3 Stunden ausführen können:

            Dazu würde ich das Script einmal starten, eine Endlosschleife einrichten und dann mit sleep() arbeiten, um die Verzögerung hinzubekommen.

            Wo ist da jetzt der Haken?
            Es funktioniert nicht. Probiers einfach mal auf deiner XAMPP-Installation aus.
            Des Weiteren empfehle ich dir, nochmal durchzulesen, was ignore_user_abort() wirklich macht: Es dient lediglich dazu, das Script nicht vorzeitig abzubrechen, wenn der Client die Verbindung vor dem regulären Script-Ende schließt (sprich: Der Browserbenutzer drückt den Cancel-Button).

            Für deine "Cron-Job-Ersatz"-Idee hilft dir das aber gar nicht weiter. Außerdem haben Free-Hoster das Time-Limit im allgemeinen aktiviert und verbieten dessen Umgehung.
            Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

            Kommentar

            Lädt...
            X