Overview #
Action Scheduler is the background job queue used by WooCommerce, FluentCRM, and many other plugins. It runs scheduled work: email sequences, membership renewals, recurring syncs, reports. When tasks fail or get stuck, that automation silently stops.
The Alert #
ACTION_SCHEDULER (warning): Action Scheduler tasks are failing or stuck. Scheduled plugin jobs like renewals and email queues may be broken.
Why It Matters #
- Broken automation: emails, renewals, and reports quietly stop running
- Queue pile-up: stuck tasks accumulate and cause memory/performance issues
- Silent failures: the site looks fine while important background work dies
Common Causes #
| Cause | Description |
|---|---|
| PHP errors | A task’s code throws an error that repeats on every retry |
| Timeouts | A task runs longer than the execution window and gets killed |
| Caching conflicts | Aggressive caching serving stale queue state |
| Plugin conflicts | Two plugins fighting over the same scheduled action |
| Cron starvation | WP-Cron not firing (see Stuck WP-Cron Jobs) |
Fixing Stuck Queues #
Check the queue #
- WooCommerce: WooCommerce → Status → Scheduled Actions (admin screen showing pending/failed)
- WP-CLI:
wp as status # queue health summary
wp as jobs --type=failed # list failed actions
Clear / retry #
- Retry failed actions individually from the Scheduled Actions screen
- For a bulk stuck queue: WP-CLI
wp as run --type=failed # attempt re-run
- If a specific action is permanently broken (e.g., a plugin’s callback errors every time:, the fix is the plugin, not the queue) update or replace it, then clear its stuck actions
Prevent recurrence #
- Ensure cron is healthy: see Stuck WP-Cron Jobs (Action Scheduler depends on it)
- Fix timeouts by raising PHP
max_execution_timefor CLI/async runners where appropriate - Resolve plugin conflicts by identifying which plugin owns the failing action
What You Should Do #
If you notice a specific thing not happening (e.g., “nobody got the welcome email this week”:, tell us which) it points straight at the affected queue and speeds up the fix.
The Xponent Standard #
Xponent monitors Action Scheduler health as part of managed maintenance and keeps queues clean. On new builds we configure it to run reliably with properly triggered WP-Cron. On managed sites we clear and repair stuck queues for you.