Skip to content
Cloud docs

WP-Cron and scheduled tasks

Why the built-in scheduler misses jobs on a cached site, and how the platform runs it instead.

Updated 20 September 20261 min readAdvanced

WordPress schedules work with WP-Cron, which only runs when someone visits the site. Behind a full-page cache, most visits never reach PHP, so scheduled jobs are skipped or delayed.

How we handle it

On every managed site, DISABLE_WP_CRON is set to true and a system cron calls the scheduler every five minutes. Jobs run on time whether or not anyone visits.

wp-config.php
define( 'DISABLE_WP_CRON', true );

See what is scheduled

wp-cli
wp cron event list
wp cron event run --due-now
wp cron test

Common problems

  • A job never runs. Check it is registered at all with wp cron event list; plugins often register hooks only on certain admin screens.
  • A job runs late. The scheduler fires every five minutes, so anything scheduled to the exact minute drifts by up to five.
  • A job times out. Long imports should be broken into batches. Action Scheduler, which WooCommerce ships, does this correctly.
Need a shorter interval?

Open a ticket. We can run the scheduler every minute on a site that needs it, or add a dedicated cron entry for a specific command.

Was this article helpful?

Related articles