Summary
Instead of individual alert emails per failure, send a configurable scheduled digest summarising the health of all jobs in one email.
Motivation / Use Case
Operators managing many low-priority jobs don't want inbox noise from individual alerts. A single daily or weekly summary gives an overview of job health without requiring constant attention.
Proposed Behaviour
- Configurable schedule: daily or weekly, with a configurable send time
- Each job listed with: last run timestamp, last exit code, 7-day success rate, and current failure streak (if any)
- Jobs with active failure streaks are highlighted at the top
- Only sent if there is at least one job to report on
- Respects existing
mail.* config (same sender/recipient as failure alerts)
Affected Component
First Implementation Idea
- New scheduled script —
bin/send-digest.php queries execution_log and cronjobs for aggregate health data per job and builds the email body.
- Crontab entry —
send-digest.php is added to the agent container's own crontab at the configured time (daily/weekly). The schedule is written by entrypoint.sh based on config values.
- Config keys —
notifications.digest.enabled, notifications.digest.frequency (daily/weekly), notifications.digest.send_time (HH:MM), notifications.digest.weekday (0–6, for weekly mode).
- Email rendering — plain-text and HTML variants via
MailNotifier; a simple table layout per job (name, last run, success rate, streak).
- Web UI — digest settings added to the notifications section of the settings/housekeeping page.
Summary
Instead of individual alert emails per failure, send a configurable scheduled digest summarising the health of all jobs in one email.
Motivation / Use Case
Operators managing many low-priority jobs don't want inbox noise from individual alerts. A single daily or weekly summary gives an overview of job health without requiring constant attention.
Proposed Behaviour
mail.*config (same sender/recipient as failure alerts)Affected Component
First Implementation Idea
bin/send-digest.phpqueriesexecution_logandcronjobsfor aggregate health data per job and builds the email body.send-digest.phpis added to the agent container's own crontab at the configured time (daily/weekly). The schedule is written byentrypoint.shbased on config values.notifications.digest.enabled,notifications.digest.frequency(daily/weekly),notifications.digest.send_time(HH:MM),notifications.digest.weekday(0–6, for weekly mode).MailNotifier; a simple table layout per job (name, last run, success rate, streak).