How to Avoid Timeouts When Running Millions of WooCommerce Tasks

Meet Action Scheduler – a scalable processor of large queues of PHP jobs. Learn how to run bulk actions without triggering the “Connection Timed Out” error.

Hosted by Rodolfo Melogli

Masterclass overview

Every month, Action Scheduler processes millions of payments for Subscriptions, webhooks for WooCommerce, as well as emails and other events for a range of other WordPress plugins. It’s been seen on live sites processing queues in excess of 50,000 jobs and doing resource intensive operations, like processing payments and creating orders, at a sustained rate of over 10,000 / hour without negatively impacting normal site operations” (source:

If you want to bulk edit 100,000 WooCommerce orders, or bulk delete 1,000,000 WooCommerce products, or bulk re-send 10,000,000 WooCommerce emails with a single PHP hook – you need background processing.

And Action Scheduler, which is developed, maintained, and included inside the WooCommerce plugin by Automattic, can help.

Imagine running an add_action on a huge product query – by using Action Scheduler PHP functions you can queue the jobs instead of running them all at once.

In this class, we will study the default Action Scheduler API functions (as_enqueue_async_action, as_schedule_recurring_action, etc.) and then see how we can use them with specific WooCommerce hooks, so that we can safely run bulk edits or scheduled actions. We will also briefly check the admin interface, which is visible in the WooCommerce settings!

Video Recording & Materials

Sorry, this video is only visible to logged in Business Bloomer Club members with a "CLASSES" or active "SPONSOR" pass.
If you joined already, please log in.
Otherwise, here are 5 reasons you should join the Club.


What you’ll learn

Action Scheduler benefits and API functions
How to run bulk WooCommerce operations with Action Scheduler PHP
Where to find Action Scheduler reports


Basic knowledge of PHP and WordPress hooks

Upcoming masterclasses

No post found!



  • Marcus
  • IAN
  • Prabhaharan
  • Cito
  • Daniel
  • Sergio
  • Barry
  • Guido
  • Collins
  • Robert
  • Stephen
  • Francesco
  • Aleksandar
  • Ron
  • Noëlle
  • Simon
  • Bill
  • Karolína
  • Emil
  • Daniele
  • Angelo
  • Patrick
  • James
  • Simon
  • Annette
  • Elke
  • Bob
  • Diego
  • Nick
  • Adedayo
  • Supreet
  • James
  • Daniel
  • Matt
  • Dennis
  • Milan
Leave a Reply

Your email address will not be published. Required fields are marked *