TYPO3 Scheduler
Letzte Änderung:
Was macht der TYPO3 scheduler?
Der TYPO3 Scheduler ist eine Standard TYPO3 Erweiterung, die es ermöglicht, wiederkehrende Aufgaben("Tasks") automatisiert durchzuführen.
Anwendungsbeispiele gibt es dafür ausreichend:
- das Aufräumen von alten Caches
- das endgültige Löschen von Datensätzen, die bislang noch im Recycler liegen
- die Überprüfung von ausgehenden Links auf Gültigkeit durch den Linkvalidator
- das Anonymisieren von IP-Adressen in Logfiles (Datenschutz)
- die Newsletter-Extension direct mail erlaubt den zeitgesteuerten Versand von Newsletter für eine bestimmte Menge an Empfängern(z.B. jede Stunde 200 Mails)
- die SOLR-Extensions nutzt den scheduler zum indizieren von (neuen) Inhalten auf dem SOLR-Server
- bestimmte Daten(z.B. Buchungsanfragen oder Bestellungen) können zur weiteren Verarbeitung regelmäßig exporteirt werden
- Informationen aus Inhousesystemen(z.B. neue Produkte, Seminartermine) können regelmäßig importiert werden
- usw.
Für einen Task können folgende Eigenschaften definiert werden:
Der Type gibt an, ob der Task wiederkehrend ("Recurring") oder einmalig ("Single") durchgeführt werden soll.
Für die Frequency wird defibniert, zu welchen Zeitpunkten der Task ausgeführt werden soll. Dabei sind die Intervallangaben identisch mit denen der Unix crontab:
Min / Std. / Tag des Monats / Monat / Wochentag
Auf diese Weise lassen sich sehr flexible Angaben machen. So bedeutet z.B.:
0 9,15 * * 1-5
"Von Montag bis Freitag jeweils um 9:00 Uhr und um 15:00 Uhr"
Die Parallel Execution gibt an, ob der Task parallel laufen darf. Unter Admin Tools -> Settings -> Extensions Configuration kann eingestellt werden, wie lange Tasks als "running" gekennzeichnet werden. Damit soll vermieden werden, dass Tasks, die sich aufhängen, gar nicht mehr gestartet werden. Der Standardwert sind 24 Std.(1.440 Minuten).
Last Execution und Next Execution sind jeweils Zeitstempel, die den letzten bzw. nächsten Lauf dokumentieren.
In der Listenansicht sind außerdem folgende Task-Aktionen möglich:
- bearbeiten (Stiftsymbol)
- deaktivieren (Schieber)
- löschen (Mülltonne)
- mit dem nächsten Cronjob starten (Uhrenblatt)
- manuell sofort starten (Play-Symbol)
Standard Scheduler Tasks
Der scheduler selbst bringt folgende Tasks mit:
Caching framework garbage collection
Sorgt für eine regelmäßige Freigabe von Speicherplatz durch Löschung von nicht benötigten Datensätzen.
Test Task
Sendet eine eMail an die angegebne Adresse
Sleep Task
Tut gar nichts außer eine gewisse Zeit zu Laufen. Dient dem Testen von paralleler Task-Ausführung.
FAL Update Storage Index
Aktualisiert Dateiverweise. Hier geht es darum, Verweise auf Dateien zu erkennen, die nicht über das Backend sondern z.B. via ftp hochgeladen wurden.
FAL Update Storage Index
Aktualisiert die Meta-Daten-Tabelle für externe Dateien(u.a. anderem die Höhe und Breite des Bildes).
Fileadmin garbage collection
Löscht alle Dateien im "__recycler__" Ordner
Execute console commands
Führt ein Consolen Kommando in TYPO3 aus.
Tabel Garbage Collection
Löscht Datensätze aus bestimmten Tabellen (z.B. sys_log, sys_histoty, solr_statistics usw.), die älter als X Tage sind.
Anonymize IP addresses in database tables
Anonymisiert die IP-Adressen in der sys_log Tabelle.
Gruppierung von Tasks
Über das Listenmodul im Wurzelpfad hat man die Möglichkeit "Scheduler task groups" anzulegen. Diese können dann den einzelnen Tasks zugewiesen werden. Auf diese Weise kann man die Taskliste übersichtlicher gestalten (z.B. Wartungstasks, Security-Tasks, SOLR-Tasks, usw.).
Einrichtung des schedulers prüfen
Der erste Block gibt an, wann der scheduler das letzte Mal gelaufen ist.
Der zweite Block zeigt das genaue, vollqualifizierte Systemkommando (CLI = Command Line Interpreter) an, dass im cron-Job hinterlegt werden muss und den scheduler startet. Der Block sollte grün unterlegt sein, ansonsten liegt ein Fehler bei der systemseitigen Konfiguration vor.
Der letzte Block zeigt die Serverzeit an, die maßgeblich ist für die zeitgesteuerte Durchführung. Sollten Sie sich also mal wundern, warum Tasks nicht zu richtigen Zeit durchgeführt werden, könnte es an der falschen Serverzeit liegen.