Why Aren't WooCommerce's Action Scheduler Tasks Running?

Scheduled background tasks piling up unprocessed because WP-Cron only fires on page visits, and traffic isn't triggering it reliably

Why This Happens

WP-Cron isn't a genuine background process running independently on the server — it's triggered by an incoming page request checking whether any scheduled task is due and, if so, running it as part of that same request. A store with very little regular traffic, or one where WP-Cron has been explicitly disabled (a common hosting recommendation in favor of a proper system-level cron job, for better reliability and performance) without that system-level replacement actually being configured, can leave tasks queued indefinitely.

Common Causes

  • Genuinely low site traffic, meaning WP-Cron's page-visit trigger simply doesn't fire often enough to keep the task queue moving promptly.
  • DISABLE_WP_CRON set to true in wp-config.php without a real server-level cron job configured to replace it, which some hosts set by default expecting the site owner to configure the replacement themselves.
  • A caching plugin serving fully static pages for anonymous visitors, which can prevent the WP-Cron check from firing on those cached page loads, reducing effective trigger frequency further.
  • A stuck or failed task blocking the queue behind it, in some Action Scheduler configurations, though this is less common than the more general triggering issue.
  • A very large backlog of overdue tasks that accumulated during a period when cron wasn't running, which can take a while to fully clear even once triggering is fixed.

How to Fix It

  1. Check whether DISABLE_WP_CRON is set in wp-config.php, and if so, confirm a real server-level cron job is configured to call wp-cron.php regularly instead.
  2. Set up a proper server cron job (typically every 5-15 minutes) as a more reliable alternative to relying purely on page-visit triggering, regardless of current traffic levels.
  3. Check WooCommerce → Status → Scheduled Actions for a backlog of overdue tasks, which confirms whether this is actually the issue.
  4. Monitor after the fix to confirm the backlog clears and new tasks run on schedule going forward.

Renewals, emails, or other background tasks not running reliably? See WooCommerce fixes.

Available for new projects

NEXT STEP

Rather have it fixed than keep reading?

Based in Bangladesh — serving clients worldwide. Tell me what's happening and you'll have a reply within one working day.

  • Reply within one working day
  • Fixed quote before work starts
  • UK, EU and US hours covered