Cronheart
by cronheart 0 (0 reviews)

Cronheart

Dead-man-switch monitoring for WP-Cron: a site heartbeat plus start, success and fail pings per event. Get alerted when scheduled jobs stop running.

Cronheart ranks #61,823 among WordPress.org plugins with 0+ active installations, is #3,855 of 5,058 in the Security category, and was last updated Oct 29, 2026. Data from WordPress.org, refreshed twice daily — see methodology.

Compatible with WP 7.1.4
v0.5.6 Current Version v0.5.6
Updated 3 days ago Last Update on 29 Oct, 2026
Refreshed 2 days ago Last Refreshed on
#3,855 of 5,058 in Security Downloads +29% this week Actively maintained
View on WordPress.org
Rank
#61,823
— No change
Active Installs
0+
-100%
KW Avg Position
4
— No change
Downloads
706
+1 today
Support Resolved
0%
— No change
Rating
0%
Review 0 out of 5
0 (0 reviews)

Next Milestone 10

Total Progress 20%
0+ 10+
34,255
Ranks to Climb
-
Growth Needed
8,000,000
Active Installs
Pro

Unlock Exact Install Count

See the precise estimated active installs for this plugin, calculated from real-time ranking data.

  • Exact install estimates within tiers
  • Track install growth over time
  • Milestone progress predictions
Upgrade to Pro
Need 8 more installs to reach 10+

Rank Changes

69,886 70,188 70,490 70,791 71,093 25-10-2026 26-10-2026 27-10-2026 28-10-2026 29-10-2026 30-10-2026 31-10-2026 01-11-2026
49,104 55,448 61,793 68,138 74,482 17-10-2026 18-10-2026 19-10-2026 20-10-2026 21-10-2026 22-10-2026 23-10-2026 24-10-2026 25-10-2026 26-10-2026 27-10-2026 28-10-2026 29-10-2026 30-10-2026 31-10-2026 01-11-2026
Current #61,823
Change
Best #

Upgrade to Pro

Unlock 30-day and 90-day rank history charts with a Pro subscription.

Upgrade Now

Active Installs Growth

Active Installs 0,000,000+
Growth +0.0%
Peak 0,000,000

Downloads Growth

0 10 20 30 40 50 25-10-2026 26-10-2026 27-10-2026 28-10-2026 29-10-2026 30-10-2026 31-10-2026 01-11-2026
0 10 20 30 40 50 17-10-2026 18-10-2026 19-10-2026 20-10-2026 21-10-2026 22-10-2026 23-10-2026 24-10-2026 25-10-2026 26-10-2026 27-10-2026 28-10-2026 29-10-2026 30-10-2026 31-10-2026 01-11-2026
Downloads
Growth
Peak

Upgrade to Pro

Unlock 30-day, 90-day, and yearly download history charts with a Pro subscription.

Upgrade Now

Reviews & Ratings

0.0
0 reviews
Overall 0%
5
0 (0%)
4
0 (0%)
3
0 (0%)
2
0 (0%)
1
0 (0%)

Frequently Asked Questions

Common questions about Cronheart

Yes. If you set define( 'DISABLE_WP_CRON', true ); and trigger wp-cron.php from a real system cron, the plugin's cronheart_heartbeat_tick event still fires on each run — the trigger mechanism is different, the action chain is the same. Running events with WP-CLI (wp cron event run --due-now) works as well, including the fail ping of an event that throws.
The plugin will retry up to twice (three attempts in all, each limited to 3 seconds) after a connection error or a server error, then give up; an answer that refuses the ping, such as a wrong monitor UUID, is not retried. Your scheduled callbacks still run normally — the plugin never raises an exception that could break the cron runner. The monitor on cronheart.com reports the missed run. With WP_DEBUG and WP_DEBUG_LOG on, each ping that fails also leaves one line in wp-content/debug.log (a ping the service refuses, such as one with a wrong monitor UUID, too), with the reason but without the monitor UUID or the full ping URL.
No. Cronheart's free tier covers 20 monitors per account — enough for a typical site's heartbeat plus several per-event monitors. Every tier, the free one included, gets all notification channels (email, Telegram, Slack, Discord, Microsoft Teams, Google Chat, PagerDuty and signed webhooks). The REST API, which the optional token features in wp-admin use, is included on every tier, the free one too. Paid tiers (Starter / Growth / Scale) raise the monitor cap and the API rate limit.
No — it is entirely optional. Paste a monitor UUID under Settings → Cronheart (or define it in wp-config.php) and the plugin works on any plan, including the free tier. A token only adds convenience: the settings page can then list your monitors and let you pick one from a dropdown instead of copying a UUID by hand. The token is an account-level credential, so for production prefer defining CRONHEART_API_TOKEN in wp-config.php over storing it in the database. The token features work on every plan, the free one included, but cronheart.com only lets an account with a verified email address create a token. If the token is refused or cronheart.com cannot be reached, the page shows a notice and falls back to manual UUID entry.
Sign in at cronheart.com, open the monitor you created, and copy the UUID shown under its name (it has a copy button), or take it from the address bar or from the end of the monitor's ping URL.
Nothing. The plugin catches every network / HTTP error from the SDK (and, with WP_DEBUG and WP_DEBUG_LOG on, writes one line per failed ping to the debug log) — your wp_schedule_event callbacks continue to run. You will stop seeing pings on the cronheart dashboard, and after the configured grace period cronheart sends you the down-alert. When cronheart comes back the next successful ping resolves the incident automatically.
No. The plugin sends a ping to cronheart only when you have configured a monitor UUID. The ping payload is the UUID, an optional short body excerpt (capped at 10 KB), and the SDK's User-Agent header. There is no anonymous-statistics beacon, no plugin-usage telemetry, no calls to any third-party analytics service.
Yes. Define CRONHEART_ENDPOINT in wp-config.php with the URL of your alternate deployment. For plain http:// endpoints (local development, private VPNs without TLS) also set CRONHEART_ALLOW_INSECURE_ENDPOINT to true. With both unset, the plugin pings the production cronheart.com over HTTPS. The API token is only ever sent over HTTPS, so with a plain http:// endpoint the settings screens fall back to manual UUID entry while pings keep working. An endpoint the plugin does not accept (one with no http:// or https:// scheme, or plain http:// without CRONHEART_ALLOW_INSECURE_ENDPOINT) stops all pings and shows an error notice in wp-admin; the plugin does not send them to cronheart.com instead. An empty CRONHEART_ENDPOINT means cronheart.com even when the cronheart_endpoint option is set, and a CRONHEART_ENDPOINT that is not a string is ignored.
The plugin shows this error notice on every wp-admin screen, to users who can manage options, when it cannot send pings safely; it then sends none. The notice names the cause. If the PHP cURL extension is not loaded on the server, ask your host to enable it. If the endpoint setting is not accepted, the notice says whether CRONHEART_ENDPOINT in wp-config.php or the cronheart_endpoint option holds it: use an https:// URL (a plain http:// URL also needs CRONHEART_ALLOW_INSECURE_ENDPOINT), or remove the setting to use cronheart.com. Until then your monitors alert that the jobs stopped checking in. The notice cannot be dismissed; it disappears on the next page load after the cause is fixed.
Open an issue on GitHub.

Sign In / Register

You need to sign in or register to use this feature.