CronWatch
CronWatch records every Drupal cron run, and each module's hook_cron within it, in your site's own database, and alerts you when cron stops running, a hook fails, or a run gets stuck or runs slow. No external service, no account: it is part of the open source CronWatch library (https://cronwatch.dev).
Features
- Watches cron with no code changes: each cron run is recorded as the job
drupal:cron, and each module's hook_cron asdrupal:plus the module's name (for exampledrupal:system), whether cron runs from Automated Cron,drush cronor the cron URL. - Alerts once when something goes wrong and once when it recovers: cron missed, a hook failing, a run stuck past its timeout, or a run far slower than usual.
- Opt-in watching of queue workers, with each item processed recorded as a run.
- A dashboard under Reports: the last 24 hours of runs, each job's week, and every run with its output and error.
- Alerts by email (through Drupal's mail system), Slack or a webhook.
- An optional JSON API for the CronWatch MCP server, so AI coding agents can read failures and run a check. Off until you set a token.
Post-Installation
Go to Configuration, System, CronWatch (/admin/config/system/cronwatch) to choose where alerts go and send a test alert. The dashboard is at Reports, CronWatch (/admin/reports/cronwatch). A check that runs inside cron cannot notice cron itself not running, so add a system crontab line that runs drush cronwatch:check every five minutes. The permissions are "administer cronwatch" and "view cronwatch dashboard".
Additional Requirements
Drupal 10.3 or newer, or 11, on PHP 8.2 or newer (Drupal 11 needs 8.3). The module stores its data in your site's database (MySQL, MariaDB, Postgres or SQLite) through the CronWatch library, which Composer installs with it.
Recommended modules/libraries
Drush, for drush cronwatch:check from a system crontab.
Similar projects
Ultimate Cron schedules and logs cron jobs. CronWatch does not schedule anything: it watches the cron you already have and tells you when a run is missed or fails. If Ultimate Cron replaces the cron service, CronWatch leaves it alone and cannot record its jobs' runs yet.
Documentation
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.