WP-Cron Status Checker

If WP-Cron runs important things for you, you better make sure WP-Cron always runs!

I learned an important lesson about WP-Cron, the easy way.  A plugin developer I was working with said an update was released and I should see it any minute now.  I waited, and waited, and waited…

After a few days of not seeing the update (it wasn’t my top priority) I downloaded the WP Crontrol plugin to see what’s up.  WP Crontrol is a plugin that allows you to see all the scheduled jobs WordPress will run.  One of those jobs is to check for plugin updates every 12 hours.  To my surprise I saw about 300 various jobs waiting to run.  At first I thought, oh no, one of the plugins on the site has a bug.  But then I noticed an error at the top:

There was a problem spawning a call to the WP-Cron system on your site. This means WP-Cron events on your site may not work. The problem was:  Unexpected HTTP response code: 403

I contacted WPEngine (the website host) and they did their thing, setup an Alternate Cron and all was well.  They couldn’t tell me what went wrong or why WP-Cron stopped working.  At the same time, the staging site and all other websites on WPEngine still work fine.

Luckily, that site only depended on WP-Cron for plugin updates and WordPress update notices.  As a matter of fact, I even logged into the site when it wasn’t working and didn’t notice the lack of plugin update notices!  If this had been a site depending on payment subscriptions like from WooCommerce this would have been a disaster.

I developed WP-Cron Status Checker the very next day.  The plugin ensures WP-Cron is running so emails can go out, subscriptions can renew, and plugin receive update notices.  If for any reason it stops working I get an email on what went wrong.  Best of all, the plugin runs in the background without much configuration needed.

View the plugin in the WordPress repository:

Some screenshots below:

WP-Cron Status Checker Dashboard Widget
WP-Cron working fine
WP-Cron Status Checker Error
WP-Cron Error