Skip to content

Task-Manager

Der Task-Manager ist das operative Dashboard fuer jeden Hintergrundjob im CMS: geplante Aufgaben (Sitemap, Session-Cleanup, E-Learning-Erinnerungen), Warteschlangen-Jobs (alles, was nicht in einem HTTP-Request fertig wird) und die ausgehende Webhook-Warteschlange. Dazu der rohe Systemstatus — PHP-Version, Extension-Flags, Speicher-Limit, Cron-Laufzeiten.

Oeffne Einstellungen → Task-Manager. Der Screen hat vier Tabs.

Task-Manager mit vier Tabs: Status, Warteschlange, Geplante Aufgaben, Webhooks

Tab 1 — Systemstatus

Der Status-Tab ist ein Karten-Raster. Lies ihn von oben nach unten, um eine langsame Site zu diagnostizieren.

KarteWorauf achten
PHP-Version8.2 oder hoeher. Aeltere Versionen laufen, werden aber nicht unterstuetzt.
MySQL-VersionZur Info. Unterstuetzt: MySQL 5.7+, MariaDB 10.4+.
ServerDer Server:-Header des Webservers.
Max. AusfuehrungszeitPHP max_execution_time. Lange Jobs (Imports, Deploys) brauchen mindestens 300 Sekunden.
Speicher-LimitPHP memory_limit. 256M ist knapp, 512M angenehm, 1G fuer grosse Imports.
Zend OPcacheMuss Aktiv sein auf Produktion. Sonst langsam.
APCuMuss Aktiv sein. Sonst kein Rate-Limiting und kein Response-Cache.
PCRE JITSollte Aktiv sein. Regex-Performance.
NuxtVersion des Frontend-Builds.
Ausstehende AufgabenJobs, die auf Bearbeitung warten. Stabil nicht-null = ok. Wachsend = Worker laeuft nicht.
Fehlgeschlagene AufgabenJobs, die das Wiederholungs-Limit erreicht haben. Untersuchen und aufraeumen.
Letzter Cron-LaufLetzter Lauf des Schedulers. Sollte innerhalb der letzten 60 Sekunden liegen.
Naechster Cron-LaufBest-Effort-Schaetzung fuer den naechsten Lauf.

Cron laeuft nicht

Ist Letzter Cron-Lauf mehrere Minuten alt, feuern geplante Aufgaben nicht. Der Server-Cron-Eintrag fehlt oder ist falsch. Bitte deinen Entwickler, ./console/bin scheduled-tasks als Cron einzurichten.

Tab 2 — Warteschlange

Die Warteschlange haelt API-Jobs, die ausserhalb des Requests laufen. Beispiele: AI-Layout-Generierung, Massen-Imports, lange CSV-Exports. Jeder Job hat einen Status: pending, processing, completed, failed.

Warteschlangen-Tab mit Tabelle fuer wartend, in Bearbeitung, abgeschlossen, fehlgeschlagen

Spalten:

SpalteZweck
EndpunktDer API-Pfad des Jobs.
MethodeGET / POST / PATCH / DELETE.
StatusSiehe vier Zustaende oben.
Versuchez.B. 2 / 3. Der Worker wiederholt fehlgeschlagene Jobs bis max_attempts.
ErstelltWann der Job in die Warteschlange kam.
FehlerLetzte Fehlermeldung, falls vorhanden.

Job wiederholen oder loeschen

  • Wiederholen (Rotate-Icon) — Job neu einreihen. attempts zurueck auf 0, Status auf pending.
  • Löschen (Muell-Icon) — Job entfernen. In jedem Status moeglich.

Filter

Das Auswahlfeld im Header filtert nach Status (Alle, Wartend, In Bearbeitung, Abgeschlossen, Fehlgeschlagen).

Tab 3 — Geplante Aufgaben

Geplante Aufgaben laufen in festem Intervall. Sie werden von Plugins bei der Installation registriert und leben in der Tabelle scheduled_tasks.

Geplante-Aufgaben-Liste mit Intervall, Letzter Lauf, Naechster Lauf, Aktiv

Pro Aufgabe siehst du:

SpalteZweck
NameSprechender Name, z.B. Session Cleanup, Sitemap Generation.
IntervallWie oft die Aufgabe laeuft (z.B. alle 300 Sekunden = 5 Minuten).
Letzter LaufZeitstempel des letzten erfolgreichen Laufs.
Naechster LaufWann der naechste Lauf ansteht.
AktivSchalter zum Ein-/Ausschalten.
UeberfaelligRoter Badge, wenn Naechster Lauf in der Vergangenheit liegt. Heisst: Cron feuert nicht.

Aufgabe jetzt ausfuehren

Klick auf das Play-Symbol, um die Aufgabe sofort zu feuern. Die Seite zeigt einen Spinner und aktualisiert Letzter Lauf.

Eingebaute Aufgaben

AufgabeIntervallWas sie tut
Session Cleanup5 MinEntfernt DB-Sessions, die laenger als 2 Stunden inaktiv sind.
Sitemap Generation1 TagRegeneriert /sitemap.xml.
Publish Scheduled Pages5 MinVeroeffentlicht Entwuerfe, deren scheduled_at erreicht ist.
Elasticsearch Reindex1 MinNimmt einen Reindex-Job pro Lauf entgegen.
E-Learning Check Expiry1 StundePrueft CME-Kursablauf pro Teilnehmer.
E-Learning Process Purchases60 SekAktiviert Kaeufe und schaltet Kurse frei.
Shopware 6 Category Sync6 StundenAktualisiert den lokalen Shopware-Kategorie-Cache.
Shopware 6 Session Cleanup1 TagEntfernt veraltete CMS-zu-Shopware-Session-Mappings.

Plugins koennen eigene Aufgaben ueber bootstrap.php registrieren.

Tab 4 — Webhooks

Zeigt die ausgehende Webhook-Warteschlange und die Zustellhistorie. Siehe Webhooks.

Die zwei Badges im Tab-Label zeigen schnell, ob etwas haengt:

  • Gelb — noch nicht gefeuerte Zustellungen.
  • Rot — Fehlschlaege in den letzten 24 Stunden.

Die Cron-Voraussetzung

Alles auf dieser Seite haengt an einem einzigen OS-Cron-Eintrag, der alle 30 Sekunden den Task-Runner aufruft:

cron
* * * * * /usr/bin/php /pfad/zur/site/console/bin scheduled-tasks --time-limit=25
* * * * * (sleep 30; /usr/bin/php /pfad/zur/site/console/bin scheduled-tasks --time-limit=25)
* * * * * /usr/bin/php /pfad/zur/site/console/bin process-webhooks --time-limit=25
* * * * * (sleep 30; /usr/bin/php /pfad/zur/site/console/bin process-webhooks --time-limit=25)

Das process-webhooks-Kommando arbeitet die ausgehende Webhook-Warteschlange alle 30 Sekunden ab und ist ein eigener Eintrag neben scheduled-tasks. Fehlt einer der beiden Cron-Eintraege, fuellt sich die Warteschlange, Webhooks feuern nicht, Sessions werden nicht aufgeraeumt, Sitemap wird alt. Die Letzter Cron-Lauf-Karte auf dem Status-Tab ist der Ein-Wert-Check.

Haeufige Fehler

Ausstehende Aufgaben waechst staendig. Cron laeuft nicht. Pruef Letzter Cron-Lauf. Aelter als zwei Minuten = Eintrag fixen.

APCu-Karte ist rot. Installiere php-apcu auf dem Server und starte PHP-FPM neu. Rate-Limiting und Response-Cache funktionieren ohne APCu nicht.

Eine geplante Aufgabe haengt auf "running". Der Prozess ist mittendrin abgestuerzt. Klick das Auffrischen-Icon, um das is_running-Flag zurueckzusetzen, und fuehr die Aufgabe manuell aus.

Fehlgeschlagene Aufgabe zeigt "Connection refused". Der Job rief eine nicht erreichbare URL. Wiederholen nach Fix, oder loeschen falls obsolet.

Siehe auch

  • Update-Manager — System-Updates, Migrationen, Deployments.
  • Webhooks — die Webhook-Warteschlange in Tab 4.
  • Cache — der Response-Cache teilt sich APCu mit dem Rate-Limiter.