Manuel Killert
Ratgeber · TYPO3 · Hintergrundvorgänge

Der Scheduler läuft nicht — und du merkst es monatelang nicht.

Das Tückische ist die Stille: Wenn geplante Vorgänge nicht laufen, gibt es keine Fehlermeldung. Es passiert einfach nichts. Protokolltabellen wachsen, Indexe veralten, Importe bleiben aus — und irgendwann ist das Backend zäh und niemand weiß warum.

Referenzen ansehen →Projekt anfragen
Kurz gesagt

Der Scheduler ist nur eine Verwaltung für Aufgaben — ausgeführt werden sie von einem Cronjob auf dem Server. Fehlt der, passiert nichts, egal was im Backend eingetragen ist. Die zweithäufigste Ursache ist eine falsche PHP-Version auf der Kommandozeile. Danach kommen Zeitüberschreitungen bei großen Aufgaben und Tasks, die seit Wochen still scheitern, ohne dass jemand es sieht.

Wie der Scheduler arbeitet.

Im Backend legst du Aufgaben an und gibst an, wann sie laufen sollen. Das klingt nach einer Automatik, ist aber nur eine Liste: TYPO3 selbst startet nichts. Ausgeführt wird die Liste von einem Cronjob — einem wiederkehrenden Aufruf, den der Server selbst anstößt, üblicherweise alle fünf Minuten.

Daraus folgt der häufigste Fehler überhaupt: Jemand richtet im Backend Aufgaben ein, freut sich, und niemand hat je einen Cronjob eingerichtet. Die Aufgaben stehen dann jahrelang in der Liste, mit dem Vermerk, dass sie „als Nächstes“ laufen — und laufen nie.

Prüfen, ob er läuft.

  1. Scheduler-Modul öffnen. Dort steht je Aufgabe die letzte Ausführung. Liegt sie Wochen zurück oder fehlt ganz, hast du die Antwort.
  2. Auf den Hinweis achten: Ist kein Cronjob eingerichtet, zeigt TYPO3 im Scheduler meist eine entsprechende Warnung.
  3. Testlauf aus dem Backend: Eine Aufgabe lässt sich von Hand starten. Läuft sie dort durch, ist die Aufgabe in Ordnung und nur die Automatik fehlt.
  4. Beim Hoster nachsehen, ob ein Cronjob eingetragen ist und was er aufruft.

Schritt drei trennt die beiden Fehlerarten sauber: Aufgabe kaputt oder Automatik fehlt. Das spart den größten Teil der Sucherei.

Den Cronjob einrichten.

Bei den meisten Hostern geht das im Kundenbereich: Zeitpunkt und aufzurufender Befehl eintragen. Der Aufruf unterscheidet sich je nach Installationsart.

Typischer Cronjob-Eintrag, alle fünf Minuten
# Composer-Installation
*/5 * * * * /usr/bin/php8.3 /pfad/zur/installation/vendor/bin/typo3 scheduler:run

# Klassische Installation
*/5 * * * * /usr/bin/php8.3 /pfad/zur/installation/typo3/sysext/core/bin/typo3 scheduler:run

Pfad zu PHP und zur Installation anpassen. Welche PHP-Version aufgerufen werden muss, hängt von der TYPO3-Version ab — der Pfad zum passenden Binary steht beim Hoster oder lässt sich erfragen.

Einige Hoster bieten statt eines echten Cronjobs nur einen Aufruf über eine Webadresse an. Das funktioniert auch, ist aber langsamer und läuft in die Zeitgrenzen des Webservers — für große Aufgaben wie Datenmigrationen reicht es oft nicht.

Fünf Minuten sind ein guter Standard. Kürzere Abstände bringen selten etwas und erzeugen Last; längere führen dazu, dass zeitkritische Aufgaben hinterherhinken.

Die PHP-Version auf der Kommandozeile.

Der Klassiker, der am meisten Zeit kostet: Im Webserver läuft eine andere PHP-Version als auf der Kommandozeile. Die Website funktioniert, der Cronjob bricht ab — oder umgekehrt. Fehlermeldungen dazu sind oft kryptisch und weisen nicht auf die Version hin.

Prüfen lässt sich das, indem im Cronjob nicht einfach php aufgerufen wird, sondern der vollständige Pfad zur passenden Version. Bei vielen Hostern gibt es mehrere installierte Versionen nebeneinander. Im Zweifel beim Support erfragen, welcher Pfad zur eingestellten Webserver-Version gehört — das ist eine Standardfrage und in zwei Minuten beantwortet (Hosting-Anforderungen).

Fehlgeschlagene Aufgaben.

Läuft der Cronjob, aber einzelne Aufgaben scheitern, zeigt das Scheduler-Modul sie als fehlerhaft an — mit Meldung. Typische Ursachen:

Meldung oder SymptomUrsache
ZeitüberschreitungAufgabe zu groß für das Limit
Speicher erschöpftArbeitsspeicher reicht nicht
Klasse nicht gefundenExtension deaktiviert oder entfernt
DatenbankfehlerFehlende Tabelle nach Update
Keine BerechtigungDateirechte oder Pfad falsch
Läuft, bewirkt aber nichtsFalsch konfiguriert, etwa leerer Zielpfad

Die dritte Zeile ist häufig: Eine Aufgabe gehört zu einer Extension, die irgendwann deaktiviert wurde. Die Aufgabe bleibt in der Liste stehen und scheitert bei jedem Durchlauf. Solche Karteileichen gehören gelöscht, sonst verstopfen sie die Fehlerübersicht und man übersieht die echten Probleme.

Zeitüberschreitungen.

Große Aufgaben — Indexierung einer großen Website, Datenmigration nach einem Upgrade, Aufräumen einer jahrelang gewachsenen Datenbank — brauchen länger als die üblichen Limits erlauben. Der Cronjob bricht dann mitten im Vorgang ab, und beim nächsten Lauf beginnt er von vorn, ohne je fertig zu werden.

Drei Wege: die Limits für die Kommandozeile erhöhen, was oft großzügiger möglich ist als für den Webserver; die Aufgabe in kleinere Pakete teilen, wenn sie das unterstützt; oder sie einmalig von Hand über die Kommandozeile laufen lassen, wo sich Limits gezielt setzen lassen (Speicherlimit).

Benachrichtigung bei Fehlern.

Ein Scheduler ohne Benachrichtigung ist halb nutzlos: Niemand schaut regelmäßig in die Liste. Je Aufgabe lässt sich eine E-Mail-Adresse hinterlegen, an die bei einem Fehler eine Nachricht geht. Das gehört eingerichtet — und dann muss der Mailversand funktionieren, sonst landet die Warnung im Nichts (Mailversand).

Zusätzlich sinnvoll ist eine Überwachung von außen für den Cronjob selbst: Ein Dienst, der meldet, wenn sich ein erwarteter Aufruf nicht gemeldet hat. Damit merkst du auch, wenn der Cronjob insgesamt ausfällt — und nicht nur eine einzelne Aufgabe.

Was ausfällt, wenn er nicht läuft.

  • Aufräumen: Protokolle, Verlauf, Sitzungen und gelöschte Datensätze wachsen unbegrenzt (Datenbank).
  • Datenmigration nach Upgrades bleibt hängen — mit widersprüchlichen Daten als Folge (Update-Fehler).
  • Suchindex veraltet, neue Inhalte werden nicht gefunden (Suche).
  • Löschfristen werden nicht umgesetzt — ein Datenschutzthema (Datenschutz).
  • Importe und Schnittstellen laufen nicht.
  • Geplante Veröffentlichungen erscheinen nicht zum Termin.
  • Benachrichtigungen werden nicht verschickt.

Der vorletzte Punkt fällt am schnellsten auf: Eine Seite, die zu einem Termin online gehen sollte, bleibt unsichtbar. Alles andere bleibt lange unbemerkt — und wird dann als „TYPO3 ist langsam“ wahrgenommen (Tempo).

Welche Aufgaben sinnvoll sind.

  1. Tabellen aufräumen: Protokolle und Verlaufsdaten auf einen sinnvollen Zeitraum begrenzen.
  2. Gelöschte Datensätze endgültig entfernen — nach einer Frist, die zum Löschkonzept passt.
  3. Alte Sitzungen und temporäre Dateien bereinigen.
  4. Suchindex aktualisieren, falls eine Suche im Einsatz ist.
  5. Verarbeitete Bilder gelegentlich bereinigen.
  6. Dateiindex abgleichen, wenn Dateien auch außerhalb des Backends landen.

Diese sechs decken den Normalbetrieb ab. Wichtig ist, sie nicht alle zur selben Minute laufen zu lassen — sonst entsteht alle fünf Minuten eine Lastspitze. Versetzte Zeiten und nächtliche Läufe für die großen Aufgaben sind die ruhigere Variante.

Wenn du nicht weiterkommst.

Wenn Aufgaben nicht laufen oder du nicht weißt, ob ein Cronjob existiert, prüfe ich das und richte es ein. Schreib mir mit Domain, TYPO3-Version und einer kurzen Beschreibung — du bekommst eine ehrliche Einschätzung, ob ich der Richtige bin. Den Überblick über alle Themen gibt TYPO3-Fehler beheben. Wenn sich am Ende herausstellt, dass ein Wechsel die bessere Lösung ist: TYPO3 zu WordPress.

Fehleranalyse & Erste Hilfeab ~150 €

Ursache finden, Website wieder zum Laufen bringen, kurzer Bericht — meist am selben Tag.

Stundensatz~95 €

Für Anpassungen, Fehlerbehebung und Beratung nach Aufwand, abgerechnet in 15-Minuten-Schritten.

Wartungab ~49 €/Monat

Updates, Backups, Sicherheitscheck, Monitoring — Kleinigkeiten inklusive.

Orientierungswerte, keine Fixpreise — nach einem kurzen Gespräch bekommst du ein Festpreisangebot.

Wer hilft.

Ich bin Manuel Killert, Web-Entwickler aus Quakenbrück. Mein Schwerpunkt liegt auf WordPress — an TYPO3-Installationen arbeite ich dort, wo es um Betrieb und Fehlersuche geht: Ausfälle, Serverthemen, Datenbank, Mailversand, Updates und die Frage, wie es mit einer alten Installation weitergehen soll. Das sind die Probleme, bei denen die Ursache meist nicht im System selbst liegt, sondern darunter. Geht es um tiefe Entwicklung in TYPO3 — eigene Extensions, komplexe Mehrsprachigkeit, große Redaktionssysteme —, sage ich dir das offen und empfehle jemanden, der genau das macht. Ehrlich beraten heißt für mich auch, eine Anfrage abzugeben.

Häufige Fragen

FAQ — Scheduler läuft nicht.

Warum laufen meine TYPO3-Scheduler-Aufgaben nicht?

Weil der Scheduler nur eine Verwaltung ist. Ausgeführt werden Aufgaben von einem Cronjob auf dem Server. Fehlt der, passiert nichts, egal was im Backend eingetragen ist.

Wie prüfe ich, ob der Scheduler läuft?

Im Scheduler-Modul steht je Aufgabe die letzte Ausführung. Liegt sie Wochen zurück oder fehlt, läuft kein Cronjob. Ein Testlauf von Hand zeigt, ob die Aufgabe selbst in Ordnung ist.

Wie oft sollte der Cronjob laufen?

Alle fünf Minuten ist ein guter Standard. Kürzere Abstände bringen selten etwas und erzeugen Last, längere führen dazu, dass zeitkritische Aufgaben hinterherhinken.

Warum bricht der Cronjob ab, obwohl die Website läuft?

Oft weil auf der Kommandozeile eine andere PHP-Version aktiv ist als im Webserver. Im Cronjob sollte der vollständige Pfad zur passenden Version stehen, nicht nur php.

Was passiert, wenn der Scheduler nie läuft?

Protokolle und Verlaufsdaten wachsen unbegrenzt, Datenmigrationen nach Updates bleiben hängen, Suchindexe veralten, Löschfristen werden nicht umgesetzt und geplante Veröffentlichungen erscheinen nicht.

Wie erfahre ich von fehlgeschlagenen Aufgaben?

Je Aufgabe lässt sich eine E-Mail-Adresse für Fehlermeldungen hinterlegen. Dafür muss der Mailversand funktionieren. Zusätzlich lohnt eine Überwachung von außen für den Cronjob selbst.

Manuel Killert (rechts im Bild) mit einem FreundDas bin ich – rechts im Bild
Kontakt

Erzähl mir, was an deinem TYPO3 klemmt.

Beschreib kurz das Problem und nenn mir die TYPO3-Version — du bekommst eine ehrliche Einschätzung, woran es liegt und was es kostet.

Antwort meist innerhalb von 24 Stunden · hallo@manuelkillert.de