Know when your store’s background work stops.
Renewals, follow-up emails, stock syncs and webhooks all wait in one queue. When it stops, nothing errors. The work just doesn’t happen.
WooCommerce and many of its extensions hand their background work to Action Scheduler, which is run by WP-Cron. Operanse watches both: whether the queue is keeping up, which tasks are failing, and whether WP-Cron can still start.
The free plan already tells you when the queue has stalled. Paid plans compare it with your store’s normal and tell you which way it is heading.
Free Watch alerts you when scheduled work stalls, piles up or keeps failing, and when WP-Cron cannot start. Comparisons with your store’s normal, stuck-task counts and queue trends require Monitor ($39 USD/site/month) or Insight ($99). Your trial includes 14 days of Insight.
Illustrative. One week of scheduled actions past due, drawn against the store’s own normal for each hour. Early on Sunday WP-Cron misses a run and the queue stops moving.
A stopped queue makes no noise.
WP-Cron stops starting
WordPress’s built-in cron only runs when the site can reach its own
wp-cron.php. A firewall rule, HTTP password protection, a DNS change or a host move can break that. From then on, scheduled work waits for a visitor or a real cron job that may never come.The queue falls behind
A plugin floods the queue, or a slow task holds up the rest. Thousands of actions go past due. Subscription renewals, emails and syncs run hours late.
Tasks get stuck mid-run
A task starts and never finishes, usually because PHP ran out of time or memory. Action Scheduler’s own clean-up only runs as part of a queue run, so when the runner has stopped, stuck tasks stay stuck.
The same task fails over and over
An extension’s sync fails every time after an API key changes. It is logged in Tools → Scheduled Actions, where nobody looks.
What Operanse watches
Past-due and pending actions against your normal
Operanse learns how many actions your queue normally holds, how many are past due and how old the oldest waiting one is, hour by hour across the week. A busy queue always has a few actions seconds late between runs, so the past-due count only counts once the oldest is at least five minutes late.
Stuck tasks, by Action Scheduler’s own rule
A task that has been running longer than Action Scheduler’s own time limit is one its clean-up would have reset. Operanse counts those from outside, so they are seen even when the runner has stopped. On a healthy store the number is zero.
Failures, named by task
Failed actions are counted and grouped by the task that failed, so “20 failures” becomes “18 of them were the stock sync”. The backlog is shown by Action Scheduler group, the name a plugin files its tasks under.
Which way the queue is going
From the last hour of readings, Operanse says whether the queue is growing, shrinking or holding, how many actions arrive and complete an hour, and roughly how long it will take to clear if nothing changes. It is a straight-line reading, not a forecast, and it says so. If the readings themselves have a gap, it gives no trend rather than a guess.
WP-Cron, tested the way WP-CLI tests it
The agent makes the same check as
wp cron test: can this site reach its ownwp-cron.php? When it cannot, you are told, with the steps to set up a real cron job instead.
When the queue stops, the reports stop too. That is noticed.
The agent sends its reports from WP-Cron, the same mechanism that runs the queue. A monitor that only read those reports would go quiet at exactly the wrong moment.
Operanse watches for the reports themselves stopping and treats that as scheduled work stalling. It does not read a trend across the gap, and it does not say “steady” about a queue nobody is running.
An alert that names the work
Illustrative alert. Store name, counts and times are examples.
4,120 pending, 3,880 of them past due, and nothing completed in the last hour: the queue is not being processed, and 3 actions have been running longer than allowed.
Largest backlog by Action Scheduler group: woocommerce_subscriptions (62%).
Alerts go by email and Slack. Critical alerts also go by SMS and WhatsApp, according to your alert settings and plan limits. On Insight, each critical alert includes an AI review with a likely cause and the evidence for it.
Renewals depend on this queue. Renewal monitoring
Keep Tools → Scheduled Actions. Add someone watching it.
WooCommerce’s Scheduled Actions screen and its system status report are the right places to dig in. They show the queue as it is when you look.
Operanse adds the parts a screen cannot: an alert when nobody is looking, a comparison with your store’s normal, the direction the queue is heading, and the plugin and theme changes made shortly before it fell behind.
Clear limits on what Operanse does
It never runs, retries or deletes an action
It does not touch the queue or change your cron settings. It tells you what is wrong and what to check.
A group is a clue, not a verdict
An Action Scheduler group is usually one plugin, but not always. Operanse names the group and its share of the backlog; it does not claim a plugin is to blame.
Normal takes time to learn
The free checks work from the first day. Comparisons with your store’s normal start on day three and learn a weekly pattern over about two weeks.
No customer data. No slower pages.
The queue is summarised by counts, task names and group names, read with a few indexed queries on a timer, never during a visitor’s page view. The arguments a task carries, such as order numbers or email addresses, are never read.
During a visitor’s page view, the agent appends one line to a local file. It makes no database query and no call to Operanse. Measured PHP overhead is about 0.02 ms per page view. How it’s measured
The agent is read-only. There is no capability for Operanse to change your site. Security
Connect your store in four steps
Create an account at app.operanse.com and add your store.
In WordPress, go to Plugins → Add New, search Operanse, and install Operanse Agent.
Paste the one-time pairing token into the agent’s settings page.
There is nothing to configure. The agent finds Action Scheduler and tests WP-Cron on its own.
Choose how much you want to see
| Plan | Price per live site | Relevant queue monitoring |
|---|---|---|
| Watch | Free, no end date | Email alerts when scheduled work stops, when 50 or more actions are past due with the oldest an hour late, when 20 or more actions fail within an hour, and when WP-Cron cannot start. No comparison with your store’s normal, stuck-task counts or queue trends. |
| Monitor | $39 USD/month | Past-due, pending and failed actions against your normal, stuck tasks, failures by task, backlog by group, which way the queue is going and recent site changes. Email, Slack, SMS and WhatsApp alerts, unlimited users and 30 days of history. |
| Insight | $99 USD/month | Everything in Monitor, plus an AI review with each critical alert, with 6 reviews per site per day included. Also includes 90 days of history, higher SMS and WhatsApp limits, and server resource monitoring. |
Annual billing costs 10 times the monthly price: 2 months free. Organisations with 10 or more sites get 20% off every site. Staging and development copies are free on paid plans.
Try Insight for 14 days without a credit card. If you do not choose a paid plan, your account moves to Watch and its free checks continue. Pricing in full
Frequently asked questions
Will the free plan tell me if the queue stalls?
Yes. Watch emails you when scheduled work stops, when 50 or more actions are past due with the oldest an hour late, when 20 or more fail within an hour, and when WP-Cron cannot start.
Will a few past-due actions set off alerts?
No. A busy queue always has some actions seconds late between runs. The past-due count is only judged once the oldest is at least five minutes late, and a reading has to hold before it is treated as a problem.
I use a real cron job instead of WP-Cron. Does it still work?
Yes. The queue is watched the same way. The wp-cron.php check notes that the built-in trigger is switched off rather than raising an alert.
Can it tell me which plugin is filling the queue?
It names the Action Scheduler group and its share of the backlog, and the tasks that are failing. A group is usually one plugin, so that is normally enough to know where to look.
Does it run or retry actions?
Never. It does not touch the queue, run an action, retry a failure or change your cron setup.
Does it need WooCommerce?
It watches Action Scheduler wherever it is installed, which in practice means WooCommerce stores and sites running plugins that bundle it. The WP-Cron check works on any WordPress site.
Know when the work behind your store stops.
Start free, or see everything with 14 days of Insight. No card.
WooCommerce is a trademark of its owner. Operanse is not affiliated with or endorsed by WooCommerce. Action Scheduler is an open-source library maintained by the WooCommerce team.