Action Scheduler Failures: Stuck Tasks & Fixes

2 min read

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_time for 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.

Related Articles #

Updated on August 31, 2026