TYPO3 Adventskalender 2025
02.12.2025: Der neue Task-Planer
Bei TYPO3 wird der Task-Planer ("Scheduler") dazu benutzt, um im Hintergrund gewisse System-Aufgaben durchzuführen (Datenbank-Reinigung, FAL-Abgleich, Import/Export-Tasks). Hierfür gibt es zum einen die grafische Oberfläche zum Anlegen und Konfigurieren von Tasks, und zum anderen den Kommandozeilen ("CLI")-Prozess, der diese ganzen Tasks zu den gewünschten Uhrzeiten im Hintergrund ausführt.

Mit TYPO3 14.0 ist nun der technische Unterbau des Systems rundum erneuert. Alle Tasks werden nun mit der Macht der TCA-Konfiguration definiert, und sind so mitsamt aller Features in die FormEngine integriert.
Endlich muss man keine “FieldProvider” mehr schreiben um eigene Tasks mit Optionen auszustatten, oder ist auf die GUI der Symfony-Command-Konfiguration beschränkt.
Größter Vorteil jedoch: Die immer problematische Serialisierung (=Speicherung der Task-Konfiguration in einem abstrakten Datenobjekt, was zur Ausführung dann wieder hergestellt werden muss) weicht nun einer zuverlässigen JSON-Notation aller Argumente/Parameter. Dadurch können Tasks nun auch leichter exportiert und importiert werden, und auch regulär über den Papierkorb verwaltet werden. Alte Tasks werden nahtlos über den Upgrade-Wizard in das neue Format umgestellt.
So bleibt auch bei Updates der PHP-Klassen künftig ein Task immer stabil und geht nicht mal versehentlich “verloren” oder muss fehleranfällig migriert werden - denn früher beim Wechsel zwischen unterschiedlichen Task-Typen gingen gerne mal Einträge oder Daten verloren, die nun dank FormEngine-Validierung und DataHandler-Persistierung vermieden werden - beide APIs natürlich mit allen Schnittstellen-Vorteilen, die man in TYPO3 gewöhnt ist.
Abgerundet wird der Task-Planer durch ein flexibleres Taskgruppen-Konzept, in der man Gruppen auch durch eine Farbkodierung unterscheidbar machen kann.


Durch den neuen Wizard zur Auswahl des neu zu erstellenden Tasks kann man sich leichter durch die verfügbaren Typen navigieren. Der Wizard lässt sich mit PSR-14 Events natürlich auch anpassen.

Als kleiner Bonus lässt sich via TCA nun auch sehr einfach eine Voreinstellung zur Taskplaner-Zeitfrequenz hinzufügen:
<?php $GLOBALS['TCA']['tx_scheduler_task']['columns'] ['execution_details']['config']['overrideFieldTca'] ['frequency']['config']['valuePicker'] ['items'][] = [ 'value' => '0 2 * * *', 'label' => 'Nicht nach Mitternacht füttern!', ];