Skip to content

Action Scheduler

Action Scheduler is a scalable, traceable job queue for background-processing large queues of tasks in WordPress. Because it is built to process many actions within one request, it can be more efficient than using individual WordPress Cron events (e.g. processing 100 WooCommerce subscription renewals with a single cron event, rather than running 100 individual cron events). On VIP, Action Scheduler is able to leverage VIP’s Cron infrastructure for even better performance.

Action Scheduler is designed for:

  • Processing large volumes of actions concurrently
  • Executing long-running tasks
  • Plugins that extensively use cron events (e.g. WooCommerce)

When triggered, Action Scheduler checks for scheduled actions that have a due date at or before the current point in time (“due now”). Action Scheduler processes scheduled actions in “queues.” By default, a queue is spun up to process events on a recurring 60-second cron event called action_scheduler_run_queue. An “async queue” on frontend requests is also spun up, but on VIP, the front-end async queue is disabled in favor of a Dynamic Queue.

The Dynamic Queue greatly increases the number of actions that can be processed in a given amount of time. It is designed to manage and run multiple Action Scheduler queues at the same time. The Dynamic Queue checks how many actions are “due now” approximately every 120 seconds. The number of queues that are needed to complete the actions will be determined based on the number of actions that are found. The Dynamic Queue then registers the necessary number of one-time cron jobs that will be allowed to run in parallel. When these cron jobs are run, they each start up their own Action Scheduler queue.

Interacting with Action Scheduler

For Action Scheduler to be available on a site, it must either be installed as a library or as a plugin. Even when Action Scheduler is installed as a plugin, no user interfaces for scheduling actions will be available, and interactions must be made via code.

Some plugins—like WooCommerce—load the Action Scheduler library as a dependency.

WordPress Admin dashboard

When installed, an administration screen for Action Scheduler is available in a site’s WordPress Admin dashboard. The Action Scheduler screen provides the ability to monitor, debug, and manually trigger scheduled actions.

Access the screen as a logged in user:

  1. Navigate to the site’s WordPress Admin dashboard.
  2. Select Tools from the lefthand menu.
  3. Select Scheduled Actions.

For VIP sites with WooCommerce installed and enabled, the Action Schedule screen can also be accessed as a logged in user:

  1. Navigate to the site’s WordPress Admin dashboard.
  2. Select WooCommerce from the lefthand menu.
  3. Select Status.
  4. Select Scheduled Actions.

VIP-CLI

Use VIP-CLI to run Action Scheduler’s custom WP-CLI commands to process actions. Refer to Action Scheduler’s documentation for their custom WP-CLI commands to learn which commands are available and how to use them.

Last updated: December 26, 2023

Relevant to

  • WordPress