Action Scheduler: the WooCommerce queue nobody watches
Action Scheduler is the background job queue built into WooCommerce. Webhooks, some emails, subscription renewals, analytics imports and many plugin syncs run through it. When it stalls, nothing crashes — work just stops happening.

How it runs
By default, Action Scheduler is triggered by WP-Cron, which runs when someone visits the site. On quiet stores, or where WP-Cron is disabled without a real cron job replacing it, the queue simply does not run.
You can see the queue under WooCommerce → Status → Scheduled Actions. The Action Scheduler site documents how it works and how to run it from a real cron.
Signs that it has stalled
Thousands of pending actions, past-due actions, or many failed ones with the same error. Symptoms elsewhere: subscription renewals not charged, order webhooks not delivered, stock not synced, emails delayed.
A huge `actionscheduler_actions` table also slows the admin and sometimes the checkout.
Keeping it healthy
Run WP-Cron from a real system cron every minute, clean up old completed actions, and investigate failed ones by hook name — a single broken plugin often floods the queue.
Alert when past-due actions grow. It is the WooCommerce equivalent of Magento’s cron and indexers: the part of the store that works when nobody looks.
Check your own store now with the free WooCommerce checkout checker: it walks the checkout in a real browser and shows the step where it stops.
Common questions
What is the WooCommerce Action Scheduler?
A background job queue used by WooCommerce and many plugins for emails, webhooks, subscription renewals and imports.
How do I see stuck actions?
WooCommerce → Status → Scheduled Actions lists pending, past-due and failed actions with their logs.
Why does Action Scheduler stop?
WP-Cron does not run on low-traffic sites or is disabled without a real cron, a failing action blocks a batch, or the tables grow too large.