Cron-Dienst
Die Anwendung enthält einen separaten Cron-Service zur Verarbeitung geplanter Aufgaben:
Cron-Service im Entwicklungsmodus starten
pnpm cron:dev
Cron-Service im Produktionsmodus starten
pnpm cron:start
Cron-Service lokal starten (zum Testen)
pnpm cron:start-local
Der Cron-Service läuft auf einem separaten Port (8667 in der Entwicklung, 9667 in der Produktion) und verwaltet geplante Aufgaben wie überfällige Backup-Benachrichtigungen. Der Port kann mithilfe der Umgebungsvariablen CRON_PORT konfiguriert werden.
Der Cron-Service umfasst:
- Health-Check-Endpunkt:
/health– Gibt den Service-Status und aktive Aufgaben zurück - Manuelle Aufgaben-Auslösung:
POST /trigger/:taskName– Geplante Aufgaben manuell ausführen - Aufgabenverwaltung:
POST /start/:taskNameundPOST /stop/:taskName– Einzelne Aufgaben steuern - Konfigurationsneuladen:
POST /reload-config– Lädt die Konfiguration aus der Datenbank neu - Automatischer Neustart: Der Service startet automatisch neu, falls er abstürzt (wird bei Docker-Deployments von
docker-entrypoint.shverwaltet) - Watch-Modus: Der Entwicklungsmodus beinhaltet das Überwachen von Dateiänderungen für automatische Neustarts bei Code-Änderungen
- Überwachung überfälliger Sicherungen: Automatische Prüfung und Benachrichtigung bei überfälligen Sicherungen (standardmäßig alle 5 Minuten)
- Bereinigung des Audit-Logs: Automatische Bereinigung alter Audit-Log-Einträge (täglich um 2 Uhr UTC)
- Flexible Planung: Konfigurierbare Cron-Ausdrücke für verschiedene Aufgaben
- Datenbankintegration: Nutzt dieselbe SQLite-Datenbank wie die Hauptanwendung
- RESTful-API: Vollständige API zur Serviceverwaltung und -überwachung