feat(scheduler): dispatch event on job failure, notify admins via notifications module

Add ?ModuleEventDispatcher to SchedulerRunService (fail-open, nullable).
Dispatch scheduler.job_failed event when a job fails with payload:
job_id, job_key, label, error_code, error_message, trigger_type.

New SchedulerJobFailedNotificationListener in notifications module
creates in-app admin notifications for users with JOBS_MANAGE
permission, scoped per tenant, with 30-min dedup per job_key.

Also fixes audit module manifest: system_audit_purge job_key was
mismatched (audit_system_purge vs system_audit_purge in DB).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-06 12:26:54 +02:00
parent 576a0c51cd
commit 97ff3ce135
10 changed files with 276 additions and 5 deletions

View File

@@ -12,5 +12,7 @@
"User activated: %s": "Benutzer aktiviert: %s",
"User deactivated: %s": "Benutzer deaktiviert: %s",
"User assignments updated: %s": "Benutzer-Zuweisungen aktualisiert: %s",
"Tenant, role, or department assignments were changed.": "Mandanten-, Rollen- oder Abteilungszuweisungen wurden geändert."
"Tenant, role, or department assignments were changed.": "Mandanten-, Rollen- oder Abteilungszuweisungen wurden geändert.",
"Scheduled job failed: %s": "Geplante Aufgabe fehlgeschlagen: %s",
"Error: %s": "Fehler: %s"
}