Scheduled actions

Scheduled actions manage background tasks related to WooCommerce order notifications and payment processing. Gaining a clear understanding of these actions can help your store run more efficiently, and prevent issues — such as missed order updates or delayed customer emails.

You can find all scheduled actions in your store’s WP Admin dashboard under WooCommerce > Status > Scheduled Actions.

WP-Cron

↑ Back to top

Before 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. It allows WordPress to execute scheduled tasks in the background, minimizing the impact on page load times or site performance. WP-Cron also checks for theme or plugin updates, sends emails, and schedules sale prices in WooCommerce.

Because WP-Cron relies on site traffic, scheduled tasks may be delayed if there is low traffic to your store. Conversely, excessively high traffic could cause performance issues.

WP Crontrol is a free, helpful tool for viewing, triggering, and troubleshooting cron events.

Further reading on WP-Cron:

Action Scheduler

↑ Back to top

Action Scheduler is a scalable, traceable job queue for handling large sets of tasks within WordPress. It’s widely used to manage millions of WooCommerce Subscriptions payments, WooCommerce webhooks, and events or emails for other extensions/plugins.

Action Scheduler sends tasks in batches of 20, preventing PHP memory exhaustion. It can handle multiple batches simultaneously, processing up to five queues at once.

How does Action Scheduler work in WooCommerce?

↑ Back to top

Action Scheduler uses a custom WordPress post type — 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 that are ready to run. By default, it relies on WP-Cron, which means it is also dependent on site traffic. You can also set up custom server-side cron jobs to run WP-Cron independently and bypass traffic dependency, making it more reliable.

WooCommerce scheduled actions

↑ Back to top

As mentioned above, you can find scheduled actions in your store’s WP Admin dashboard under WooCommerce > Status > Scheduled Actions.

The Scheduled Actions page in a WooCommerce store's admin dashboard.

From here you can:

  • Run a pending action.
  • View scheduled actions with a specific status (such as all in-progress actions).
  • View log entries for failed actions.
  • Search scheduled actions by hook name, scheduled date, or group name.
↑ Back to top

For additional information on WP-Cron, scheduled actions, and troubleshooting tips for common issues:

Questions and support

↑ Back to top

Do 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.

Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.