HomePluginsCron Monitor

v1.5.6

Cron Monitor

WordPress ships no cron log. The schedule is a list of hook names and timestamps, and once an event fires, nothing is written down. This writes the record WordPress does not.

Requires WordPress 6.5 Requires PHP 8.1 Tested to 7.1.2 WooCommerce optional
The Scheduled Events screen: a timeline of the next 24 hours of WP-Cron events grouped by owner, above the event list with each hook's owner and orphan verdict.

What it does

It records every scheduled event as it runs, not just what is scheduled. That is why a cron job that runs twice, dies halfway, or silently stops is so hard to pin on anything.

Run history

Every WP-Cron event with its status, duration, memory added, query count, callback count, warnings and fatal errors, and a sparkline of recent runs per hook.

Owner attribution

The plugin, theme, mu-plugin or core file behind every callback, resolved by reflection while the event is actually running rather than guessed from the hook name.

Orphan verdicts with evidence

The difference between "zero callbacks observed across fourteen runs, safe to delete" and "callbacks observed during cron, do not delete". A verdict you can act on rather than a guess.

Duplicate detection

Same hook, same arguments, same schedule, found and removable, with a dry run before anything is deleted and an optional per-event guard that rejects duplicate schedules at source.

Cron Health

A ranked list of what to fix: lock starvation diagnosis, cron option size, a loopback check of your own wp-cron.php, a stall check, and a recommended WP_CRON_LOCK_TIMEOUT.

Who spends your cron budget

Seven days of cron time attributed to the plugin that spent it, which is usually the fastest way to find out why the site slows down on a schedule.

Manage events

Add, edit, run, delete and pause scheduled events, including pausing a hook without deactivating the plugin that owns it. Custom recurring schedules, with a guard that refuses to delete one an event still uses.

Alerts, off by default

Email and webhook alerts for fatal errors, killed runs, drift, starvation, and for events that have simply stopped running. Slack and Discord work with no intermediary.

What gets recorded, per run

These are the fields written for every event that fires, the actual shape of the data behind the Run History screen.

status

Completed, killed, or finished with a fatal error.

duration

How long the event took from start to finish.

memory_added

Memory the run added, rather than total process memory.

query_count

Database queries made during the run.

callbacks

How many callbacks were listening, and which file and plugin owns each one.

warnings

PHP warnings and notices raised while the event ran.

notes

Anything your own callbacks attach through the plugin's logging hook.

Screenshots

Straight from the WordPress.org listing, so what you see here is what the plugin actually renders.

The Scheduled Events screen: a timeline of the next 24 hours of events grouped by owner, and the event list with owner, verdict and actions per hook.
Scheduled Events: every WP-Cron event with its owner, last run and recent-run sparkline.
The Run History screen, listing each run with its status, duration, memory added, query count and warnings.
Run History: each run's status, duration, memory, queries and warnings.
The Cron Health screen, with summary cards for the cron option, runner, starvation and storage, and a ranked list of what to fix first.
Cron Health: what to fix first, who uses the cron budget, and whether wp-cron.php is reachable.
The Schedules screen, listing every registered interval and the events using it, plus custom schedules.
Schedules: every registered interval and the events using it, plus custom schedules.
The Settings screen, with retention, email and webhook alerts, and Action Scheduler recording.
Settings: retention, email and webhook alerts, and Action Scheduler recording.

Requirements and fine print

Unlike the others, this one does not need WooCommerce. It uses it only if it is there, to log Action Scheduler failures.

wordpress

6.5 or higher, tested up to 7.1.2.

php

8.1 or higher.

woocommerce

Optional. Where present, Action Scheduler failures are logged, failures only by default.

licence

GPLv2 or later.

0.00Price, now and later
0.00Fee per sale
GPLv2Licence, or later
noneTelemetry, ever