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-Dienst umfasst:
- Gesundheitsprüfungs-Endpunkt:
/health- Gibt Dienstatus und aktive Aufgaben zurück - Manuelle Aufgabenauslösung:
POST /trigger/:taskName- Manuelles Ausführen geplanter Aufgaben - Aufgabenverwaltung:
POST /start/:taskNameundPOST /stop/:taskName- Steuerung einzelner Aufgaben - Konfigurationsneuladen:
POST /reload-config- Konfiguration aus Datenbank neu laden - Automatischer Neustart: Der Dienst startet automatisch neu, wenn er abstürzt (verwaltet durch
docker-entrypoint.shin Docker-Bereitstellungen) - Beobachtungsmodus: Entwicklungsmodus mit Dateiüberwachung für automatische Neustarts bei Codeänderungen
- Überwachung überfälliger Sicherungen: Automatische Prüfung und Benachrichtigung von überfälligen Sicherungen (läuft standardmäßig alle 5 Minuten)
- Audit-Log-Bereinigung: 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 Dienstverwaltung und -überwachung