Emails vom System werden verspätet versendet

  • Das Plugin (oder auch nur die php Datei selbst wenn man das Plugin nicht installieren möchte) erlaubt es über den aufruf der cron.php Datei sowohl die Cronjobs als auch die Background Queue mit einem echten Cronjob auszuführen.

    Damit wird man unabhängig von Aktivität im Forum und Mails sollten zeitnah versendet werden, auch wenn keine Nutzer mehr online sind.

  • Ging ich etwa falsch der Annahme, dass das Plugin überhaupt zum Einsatz kommt?

    Ja. ^^

    Deswegen konnte ich dir nicht folgen.

    Ich lasse per cURL im Cronjob diese URL aufrufen: /index.php?background-queue-perform

    Dann schickt er immer so 5-6 Mails raus, was ich irgendwie etwas wenig finde.

    • Offizieller Beitrag

    Hallo,

    Ich lasse per cURL im Cronjob diese URL aufrufen: /index.php?background-queue-perform

    Ja, pro Aufruf der Queue werden bis zu 5 Jobs ausgeführt (und mit dem Webbrowser erfolgen bis zu 5 Aufrufe unmittelbar nacheinander). Die Background-Queue ist auch dafür gedacht, dass langsamere Aufgaben als der Versand von E-Mails über den eigenen Mailserver damit ausgeführt werden können, beispielsweise der Abruf der Rich Embeds von einem langsamen Drittserver. Aus diesem Grund ist die Menge der Jobs pro Anfrage so stark auf 5 begrenzt.

  • Hallo,

    Ja, pro Aufruf der Queue werden bis zu 5 Jobs ausgeführt (und mit dem Webbrowser erfolgen bis zu 5 Aufrufe unmittelbar nacheinander). Die Background-Queue ist auch dafür gedacht, dass langsamere Aufgaben als der Versand von E-Mails über den eigenen Mailserver damit ausgeführt werden können, beispielsweise der Abruf der Rich Embeds von einem langsamen Drittserver. Aus diesem Grund ist die Menge der Jobs pro Anfrage so stark auf 5 begrenzt.

    Ist es irgendwie möglich einfach alle zu versenden E-Mails mit max. einigen Sekunden Verzögerung sofort zu versenden? Das wäre mir die liebste Lösung.

  • Das wäre weder technisch sinnvoll noch lässt sich das aktuell im Standardumfang der Software umsetzen. Hierzu wäre eine Erweiterung notwendig, welche auch die daraus entstehenden potentiellen Problemfälle korrekt berücksichtigt.

  • Das wäre weder technisch sinnvoll noch lässt sich das aktuell im Standardumfang der Software umsetzen. Hierzu wäre eine Erweiterung notwendig, welche auch die daraus entstehenden potentiellen Problemfälle korrekt berücksichtigt.

    Warum? Ich kenne es aus anderen Systemen nur so, dass Mails (auch Massenmails) instant versendet werden. Beispiele die ich kenne: Chamilo, Gambio, Wordpress (diverse Plugins)

  • Wenn dir die last egal ist und du das plugin nutzt kannst du die Limit Zeile anpassen auf:

    $limit =  BackgroundQueueHandler::getInstance()->getRunnableCount();

    Dann werden immer alle Mails auf einmal verschickt und mit einem cronjob der jede minute läuft auch sehr zeitnah.

  • Hallo,

    davon würde ich abraten. Das Limit aber auf beispielsweise „50“ zu erhöhen sollte reasonably safe sein. Sobald das Forum größer wird, sollte dann auch ausreichend Lese-Traffic bestehen, sodass die Queue gar kein Problem mehr ist.

    Wird nicht größer werden, weil geschlossene Gesellschaft. Aber gut, dann lass ich eben alle 10 Minuten den Cronjob drauf laufen. Nicht ideal, aber auch kein Beinbruch.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!