Scheduled Tasks Monitor

Benutzerhandbuch für das Shopware 6 Plugin zur Überwachung geplanter Aufgaben

Einführung

Dieses Plugin für Shopware 6 bietet umfassende Überwachungsfunktionen für geplante Aufgaben (Scheduled Tasks). Es erkennt und benachrichtigt Sie automatisch per E-Mail, wenn geplante Aufgaben nicht ausgeführt werden oder Probleme auftreten. Das Plugin kann fehlgeschlagene oder wartende Aufgaben automatisch neu starten und bietet flexible Konfigurationsmöglichkeiten, um sicherzustellen, dass kritische Prozesse reibungslos ablaufen.

Konfigurationsoptionen

Nach der Installation des Plugins über den Shopware Store können Sie die folgenden Einstellungen in der Plugin-Konfiguration vornehmen:

Allgemeine Einstellungen

Benachrichtigungs-E-Mail-Adressen

  • Einstellung: email

  • Beschreibung: Hier können Sie eine oder mehrere E-Mail-Adressen eingeben, an die Benachrichtigungen gesendet werden sollen. Trennen Sie mehrere E-Mail-Adressen durch Kommas. Lassen Sie dieses Feld leer, um Benachrichtigungen zu deaktivieren.

  • Beispiel: admin@example.com, support@example.com

Automatische Reparatur des Task-Status aktivieren

  • Einstellung: enableTaskStatusUpdate

  • Beschreibung: Aktivieren oder deaktivieren Sie die automatische Aktualisierung des Task-Status auf "geplant" nach der Benachrichtigung.

  • Standardwert: true

Scheduled Task aktivieren (statt Command / System Cronjob)

  • Einstellung: enableScheduledTask

  • Beschreibung: Aktivieren oder deaktivieren Sie den geplanten Task, um das Monitoring auszuführen. Alternativ können Sie einen System-Cronjob registrieren, um den Befehl bin/console fgits:scheduler:run-checks auszuführen.

  • Standardwert: true

Karenzzeit für verpasste Task-Durchläufe (in Sekunden)

  • Einstellung: executionThreshold

  • Beschreibung: Tasks, die länger als diese Zeit feststecken, werden automatisch neu gestartet.

  • Standardwert: 7200 (2 Stunden)

Ignorierte Aufgabennamen

  • Einstellung: ignoredTaskNames

  • Beschreibung: Geben Sie die Namen der zu ignorierenden Aufgaben, getrennt durch Kommas, ein.

  • Beispiel: taskName1, taskName2

Plugin-Logik

Das Plugin überwacht die geplanten Aufgaben und prüft, ob eine Aufgabe Aufmerksamkeit erfordert. Folgende Logik wird dabei angewendet:

Wann wird ein Task beachtet?

  1. Nicht beachtet:

    • Wenn der Status der Aufgabe SKIPPED oder INACTIVE ist.

  2. Beachtet:

    • Wenn der Status der Aufgabe FAILED ist.

    • Wenn der Status der Aufgabe QUEUED oder RUNNING ist und die Aufgabe länger als die festgelegte Karenzzeit (executionThreshold) in diesem Status verweilt.

    • Wenn die Aufgabe ihr geplantes Ausführungsdatum um mehr als die festgelegte Karenzzeit überschritten hat.

Ausführung des Plugins

Das Plugin kann wahlweise über den mitgelieferten Scheduled Task oder über den Shopware Command bin/console fgits:scheduler:run-checks betrieben werden.

Empfehlung für den System Cronjob

Um sicherzustellen, dass Benachrichtigungen auch dann gesendet werden, wenn der Scheduler komplett ausgefallen ist, empfehlen wir, den Command als System Cronjob einzurichten und mindestens alle 15 Minuten auszuführen.

Beispiel Cron-Expression

Um den Command bin/console fgits:scheduler:run-checks alle 15 Minuten auszuführen, fügen Sie die folgende Zeile zu Ihrer Crontab hinzu:

*/15 * * * * /path/to/shopware/bin/console fgits:scheduler:run-checks

Ersetzen Sie /path/to/shopware/ durch den tatsächlichen Pfad zu Ihrer Shopware-Installation.

Mit diesen Konfigurationsoptionen und Einstellungen können Sie sicherstellen, dass alle geplanten Aufgaben in Ihrer Shopware 6-Installation zuverlässig überwacht werden und Sie bei Problemen umgehend benachrichtigt werden.