Install
Works with Drupal: ^10.3 || ^11Using Composer to manage Drupal site dependencies
Alternative installation files
Release notes
Changed in the module
- The API refuses a token shorter than 24 characters (503), and the settings form says why. Set CRONWATCH_TOKEN, or cronwatch_token in settings.php, to at least 24 characters before updating if yours is shorter.
- A watched queue worker passes calls to its own methods through to the worker, and inner() returns the worker itself. A check with instanceof against the worker's class still fails, as the "Watched queues" setting now says.
From the CronWatch library (0.14.0)
- A missed condition opens once and recovers once. A run that started before a missed fire no longer closes missed when it finishes, which sent missed, then recovered, then missed again for the same fire.
- An interval job is no longer reported missed right after a run that outlasted its period ends.
- Spring-forward daylight saving nights follow one rule for checks and the dashboard timeline.
- The dashboard answers only at its base path and below it; paths such as /cronwatch/../api/jobs are answered 404 before any sign-in.
- A channel that does not accept an alert is retried on its own, and a channel that took it is never sent it again. Held alerts are trimmed so a long outage does not swell the job's state.
- Webhooks with a secret also send X-CronWatch-Timestamp and X-CronWatch-Timestamp-Signature, so a receiver can refuse a replayed request.
- The Postgres and MySQL stores no longer run table DDL on every request (on MySQL that DDL committed an open transaction when the store shared Drupal's connection), and old runs are pruned once an hour.
Full changelog: https://github.com/cronwatchdev/cronwatch/blob/main/CHANGELOG.md