Scheduled Actions manage background tasks in WooCommerce order notifications, and payment processing. Understanding and managing these can help your WooCommerce store run efficiently, preventing issues like missed order updates or delayed customer emails.
You can find scheduled actions under WooCommerce > Status > Scheduled Actions.
WP Cron
↑ Back to topBefore explaining how scheduled actions work, it is helpful to understand both Cron and WP Cron.
Cron is a time-based task scheduling tool commonly used to automate maintenance tasks on servers. WP Cron is WordPress’s way of handling scheduled tasks. WP Cron runs whenever someone visits your website, initiating when a page is requested. This allows WordPress to execute scheduled tasks in the background, minimizing impact on load times or site performance.
WP Cron handles tasks such as checking for theme or plugin updates, sending emails, and scheduling sale prices in WooCommerce.
However, because WP Cron depends on site traffic, if your site has low traffic scheduled tasks may be delayed, while very high traffic can lead to performance issues.
The free WP Crontrol plugin is a helpful tool for viewing, triggering, and troubleshooting Cron events.
Further reading on WP Cron:
Action Scheduler
↑ Back to topAction Scheduler is a “scalable, traceable job queue” built for handling large sets of tasks within WordPress. It’s widely used to manage millions of payments for Subscriptions, webhooks for WooCommerce, and events or emails for other plugins. Action Scheduler sends tasks in batches of 20, preventing PHP memory exhaustion, and can handle multiple batches simultaneously—processing up to five queues at once.
How does Action Scheduler work in WooCommerce?
↑ Back to topAction Scheduler uses a custom WordPress post type, called “scheduled-action,” to store details such as the hook name, arguments, and the scheduled time for future tasks. It runs by attaching itself as a callback to the ‘action_scheduler_run_schedule’ hook, which is triggered using WordPress’s built-in WP Cron.
Essentially, WP Cron activates Action Scheduler.
Once triggered, Action Scheduler looks for scheduled-action posts ready to run at the current time. By default, it relies on WP Cron, which means it is also dependent on site traffic. However, you can set up custom server-side cron jobs to trigger WP Cron independently, bypassing traffic dependency and making it more reliable.
WooCommerce Scheduled Actions
↑ Back to topAs mentioned, you can find scheduled actions under WooCommerce > Status > Scheduled Actions.
From here you can:
- run a pending action,
- view scheduled actions with a specific status, such as all actions which are in-progress, for example,
- view log entries for why an action failed, and
- Search scheduled actions by hook name, scheduled date, or group name.
Further reading and helpful links
↑ Back to topThe below links provide additional information on WP Cron, scheduled actions and troubleshooting some common WooCommerce issues with these tools:
- Action Scheduler
- Replace WP Cron with a real Cron job
- Debugging WP Cron
- AutomateWoo – Performance
- Complete Guide to Scheduler Events with Subscriptions
- WordPress Developer Handbook – Cron
Questions and support
↑ Back to topDo you still have questions and need assistance?
This documentation is about the free, core WooCommerce plugin for which support is provided in our community forums on WordPress.org. By searching this forum, you’ll often find that your question has been asked and answered before.
If you haven’t created a WordPress.org account to use the forums, here’s how.
- If you’re looking to extend the core functionality shown here, we recommend reviewing available extensions in the WooCommerce Marketplace.
- Need ongoing advanced support or a customization built for WooCommerce? Hire a Woo Agency Partner.
- Are you a developer building your own WooCommerce integration or extension? Check our Developer Resources.
If you weren’t able to find the information you need, please use the feedback thumbs below to let us know.