Jan: Scriptlänge "splitten"

Hallo Leute!

Nun, ich verschicke Newsletter, die Mails dazu kommen aus einer MySQL-DB.

Mein Problem: Ich habe zuviel Adressen, das Script müsste zu lange laufen, da mein Hosting-Provider nur 90 Sekunden gestattet, bricht er mir vorzeitig ab.

Wie kann ich das am besten überlisten?

Ich dachte an eine Schleife, die immer 100 Mails verschickt und dann das Script nochmal aufruft, dann jeweils eben die nächsten 100, bis keine Daten mehr da sind.

Ich hatte zuerst keine Idee, wie ich jedesmal die Formular-Daten weitergebe, doch ich denke so könnte es gehen: Ich stelle das Formular immer wieder neu dar und schicke es (wenn der vorige Sendevorgang beendet ist) per JS wieder neu ab, mit dem Unterschied, dass sich ein Hidden-Feld immer ändert und den Datenstand signalisiert.

Hat jemand evtl. eine bessere Idee? Ich habe zwar die Möglichkeit die Script-Laufzeit im ini-File zu erhöhen, aber das ist mir zu unsicher, da ich nie weiß, wie lange ich für wieviel Mails brauche. Und auch wenn ich die Zeit ändern kann, wird mich der Provider keine Stunden eingeben lassen.

MfG

Jan Sostaric

  1. Nun, ich verschicke Newsletter, die Mails dazu kommen aus einer MySQL-DB.
    Mein Problem: Ich habe zuviel Adressen, das Script müsste zu lange laufen, da mein Hosting-Provider nur 90 Sekunden gestattet, bricht er mir vorzeitig ab.

    Schau mal da: </archiv/2005/2/t100527/>

    1. Hallo Jan,

      Schau mal da: </archiv/2005/2/t100527/>

      Das Grundprinzip Prozesse nacheinander oder auch gleichzeitig anzustoßen, halte ich für geeignet, aber ich würde dennoch einen anderen Weg gehen:

      http://forum.de.selfhtml.org/archiv/2004/8/t88104/#m524855 ff.

      Gruß aus Berlin!
      eddi

      1. Hello eddi,

        Schau mal da: </archiv/2005/2/t100527/>

        Das Grundprinzip Prozesse nacheinander oder auch gleichzeitig anzustoßen, halte ich für geeignet, aber ich würde dennoch einen anderen Weg gehen:

        http://forum.de.selfhtml.org/archiv/2004/8/t88104/#m524855 ff.

        hattest Du denn eigentlich noch Erfolge mit dem fork() oder anderen der diskutierten Konzepte?
        Man verliert die Ergebnisse leider allzu oft aus dem Auge, obwohl es hier ganz bestimmt schon um "höhere Matehematik" ging, die mich immer sehr interessiert.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. Hello Tom :)

          Dein damaliger Tip war goldwert! Auch wenn ich damals nur getestet hatte und leider feststellen mußte, daß eine Prozessgabelung nicht mit threadgestützten Server arbeitet, hat mit dem CLI funktioniert. Es kommt auch allmählig ein Anwendungsgebiet in Sicht:

          Ich bastle (oder besser - konzeptioniere noch) an einem HTTP-Server aus PHP-Scripten (bitte nicht nach dem Sinn fragen; das ist nur ein privat auserkorenes Spielfeld ;). Theoretisch ergibt sich eine maximale Anzahl von verarbeitbaren Requests in der Sekunde, wenn ein einzelner Prozess vom parsen des Headers zum Aufsuchen der Resourcen, parsen der Resource und Erstellen des Response-Headers bis zur Auslieferung der Daten, ableisten muß. Da werde ich mich mit Prozesssteuerung mal vom Grund auf beschäftigen.

          Neulich hatte ich Dich schon mal nach Semaphoren gefragt; selbst noch nicht mit gearbeitet oder hineingekniet, scheint mir das mein Weg, um ein ähnliches Konzept von "lauernden" Childs wieder apache selbst zu organisieren. Es brennt mir jede Nacht unter den Nägeln, mich ranzusetzen und zu basteln... Leider bin ich gut mit vorderrangiger Arbeit bepackt.

          (Auf Dein Problem mit dem Server und der beklagenswert geringen Unterstützung an Erweiterungen PHPs abzielend, kann ich Dir berichten, PHP scheint für _geringe_ Belastungen als HTTP-Server geeignet!)

          Gruß aus Berlin!
          eddi