Scheduler-Commands für die Pro-Version

Die Adventskalender-Pro Erweiterung bietet aktuell drei Commands für den Scheduler - welche das sind, können Sie im Folgenden nachlesen.

AdventskalenderPro Reminder: sendReminders

Dieser Scheduler verschickt die Erinnerungen an einen neuen Gewinnspiel-Tag an die Besucher, die die Erinnerung abonniert haben. D.h. im Detail, die Besucher müssen den Reminder bestellt und Ihre Registrierung bestätigt haben. Der Scheduler kann wie folgt eingerichtet werden:

Class: Execute console commands (scheduler)
Start: 02. Dezember 20xx, 0:05 Uhr
Ende:  25. Dezember 20xx, 12:00 Uhr
Frequenz: 60 Sekunden (jede Minute)
Parallele Ausführung: Nein

Der Scheduler wird in dieser Konfiguration jede Minute ausgeführt. Sobald ein neuer Tag angebrochen ist, merkt der Scheduler, dass es Benutzer gibt, die an diesem Tag noch keine Erinnerung bekommen haben. Er verschickt dann 50 Erinnerungen pro Durchgang und wiederholt dies Prozess nach 1 Minute erneut.

Dies führt dazu, dass die Reminder mitten in der Nacht verschickt werden. Alternativ können auch zeitversetzte, tägliche Crons eingestellt werden.

Bsp.:

25-12-15 06:30, Häufigkeit 86400
25-12-15 06:35, Häufigkeit 86400
25-12-15 06:40, Häufigkeit 86400
25-12-15 06:45, Häufigkeit 86400
25-12-15 06:50, Häufigkeit 86400
...

Hinweis:

In einem Durchlauf werden 50 Mails verschickt - D.h. wenn Sie 200 Teilnehmer mit Reminder haben, müssen Sie diesen Job mindestens 4 mal pro Tag ausführen!

Jeder Teilnehmer hat in seinem Datensatz ein Feld Day of the last remind. In diesem Feld wird vermerkt, wann der letzte Reminder verschickt wurde. Mit diesem Feld wird sichergestellt, dass kein Teilnehmer eine doppelte Erinnerung erhält. Zu Testzwecken kann dieses Feld händisch angepasst werden.

AdventskalenderPro Lottery: sendParticipants

Dieser Scheduler sendet nach einem Gewinnspiel-Tag die Teilnehmer im CSV-Format an eine im Gewinnspiel hinterlegte E-Mail-Adresse. Sie können diesen verwenden, wenn Sie lieber selbst die Gewinner des Tages ermitteln wollen.

Der Scheduler sollte am 02. Dezember um 0:01 Uhr starten und am 25. Dezember um 12 Uhr Mittags enden. Er bekommt eine Frequenz von 86400 Sekunden (1 Tag). Das heißt, er wird das erste Mal in der Nacht vom ersten auf den zweiten Tag ausgeführt und verarbeitet die Teilnehmer.

Das letzte Mal wird er in der Nacht vom 24. auf den 25. ausgeführt und ermittelt die letzten Teilnehmer bzw. Gewinner.

Class: Execute console commands (scheduler)
Start: 02. Dezember 20xx, 0:01 Uhr
Ende:  25. Dezember 20xx, 12:00 Uhr
Frequenz: 86400 Sekunden (jeden Tag)
Parallele Ausführung: Nein

Jeder Adventskalender-Tag-Datensatz hat eine Checkbox Participants sent. Wenn der Scheduler die Teilnehmer dieses Tages versendet, setzt er diese Checkbox, so dass diese kein zweites Mal versendet werden. Wenn Sie bereits einen Testversand vorgenommen haben, vergessen Sie nicht diesen Haken vor Gewinnspielstart wieder zu entfernen!

AdventskalenderPro Lottery: determineWinners

Dieser Scheduler ermittelt nach einem Gewinnspiel-Tag die Gewinner des Gewinnspiels. Dabei werden, sofern eine Gewinnspiel-Frage vorhanden ist, nur die richtig abgegebenen Antworten berücksichtigt.

Class: Execute console commands (scheduler)
Start: 02. Dezember 20xx, 0:05 Uhr
Ende:  25. Dezember 20xx, 12:00 Uhr
Frequenz: 86400 Sekunden (jeden Tag)
Parallele Ausführung: Nein

Jeder Adventskalender-Tag-Datensatz hat eine Checkbox Winners determined. Wenn der Scheduler die Gewinner dieses Tages ermittelt, setzt er diese Checkbox, so dass diese kein zweites Mal ermittelt werden. Wenn Sie bereits eine Testermittlung vorgenommen, vergessen Sie nicht diesen Haken vor Gewinnspielstart wieder zu entfernen!

Hinweis:

Auch wenn eine automatische Ziehung von Gewinnern hiermit möglich ist, empfehlen wir jedoch die Gewinner selbst zu ermitteln bzw. auszuwählen. Wenn mal an Tagen nicht so viele Teilnehmer teilnehmen, kann es vorkommen, dass der Zufallsgenerator zwei Mal den gleichen Gewinner zieht und das ist möglicherweise nicht gewünscht.

Allgemein

Alle Scheduler erstellen bei jeder Ausführung ein Log-File, indem sie die TYPO3-interne Logging-Funktion nutzen. Das Log-File wird unter "var/log" abgelegt, entweder unter "typo3temp/" oder außerhalb des TYPO3 Document Root -Verzeichnisses, wenn composer verwendete wird (siehe https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/Logging/Configuration/Index.html).

Das Log-File kann ebenfalls via E-Mail versandt werden - dies kann in den Einstellungen im Erweiterungsmanager aktiviert werden.

Die Scheduler werden auch ausgeführt, wenn Sie Tage simulieren. Somit können Sie den Versand von Remindern, Teilnehmern und die Ziehung der Gewinner simulieren.

Command auf der Shell ausführen

Die Commands können auch auf der Shell ausgeführt werden:

vendor/bin/typo3 adventskalender_pro:sendreminders
vendor/bin/typo3 adventskalender_pro:sendparticipants
vendor/bin/typo3 adventskalender_pro:determinewinners