Operanse
Sign inSign up

Features · Keep operations running

Background jobs & cron

See when background work stops running.

Renewals, order emails, webhooks and stock syncs wait in WooCommerce’s Action Scheduler queue. When it stops, nothing errors; the work just does not happen. Operanse reads the queue and tells you when it falls behind, whose backlog it is and whether it is recovering.

Start a 14-day trialNo card needed.

On every plan, Watch (free) includedWatch: fixed checks for past-due and failing actions and for cron that cannot start. Monitor: the full queue, against its own normal.

Scheduled actions, now (example store)Example data
2,410past due
3 h 12 moldest waiting
drainingdirectionclears in about 4 h at the last hour’s rate

Pending, by group

  • wc-admin-data2,400
  • woocommerce-subscriptions38
  • woocommerce-webhooks12
  • other9
01

A stopped queue looks like a quiet day

WP-Cron misses a run at 02:08. From then on, no scheduled action completes: renewals are not charged, order emails wait, webhooks queue up. The store front is fine, so the first sign is a customer asking where their confirmation went.

  • Order and renewal emails arriving hours late, or not at all.
  • Thousands of pending actions in WooCommerce → Status → Scheduled Actions.
  • Renewals that never ran on the night they were due.
02

What you can see

Detect overdue work

Pending, past-due, running and failed actions are read every five minutes from Action Scheduler’s own tables. Past-due actions, the age of the oldest pending action and failures are each judged against the store’s own normal for that hour.

Scheduled actions past dueExample data
Actions past dueSun 02:00–05:00
expected0–6observed212
20:0023:0002:0005:0008:00
usual for this hourobservedoutside the usual range

stalled 71 min; renewals and order mail waited behind it

Identify the backlog

“2,400 pending in wc-admin-data” says whose backlog it is, and failures are counted by hook, so you know which job is failing and which plugin to look at.

Failures by hook, last 24 hours (example store)Example data
  • woocommerce_deliver_webhook_async41
  • woocommerce_scheduled_subscription_payment3
  • wc-admin_import_orders1

See whether it is recovering

A queue depth is a snapshot. From the last hour of readings, Operanse says whether the queue is growing, draining, holding or stalled, and for a draining queue roughly how many hours it will take to clear. It is a reading of the last hour, not a forecast.

The four directions, as statedExample data
readingwhat it meansstatus
growingmore arriving than completinggrowing
drainingcatching up; hours to clear givendraining
holdingarrivals and completions matchholding
stalledpending work, nothing completed in an hourstalled
03

An incident that says what is waiting

One incident for the stalled queue, with the renewals and emails that waited behind it.

An incident (example store)Example data
CRITICALopened Sun 02:25
Scheduled work stalled
observed
212 actions past due, nothing completed in the last hour
usual
0–6 past due for Sunday 02:00
waiting
renewals and order emails
lasted
71 minutes

Operanse observes the queue. It never runs, retries, cancels or deletes an action, and offers no button that would.

04

Coverage and limits

What it covers

  • Action Scheduler. Past-due, stuck and failed actions, whether the backlog is growing or draining, the hours to clear it, and whose backlog it is.
    All plans
  • WP-Cron. Cron that is disabled with no system cron in its place, or blocked from starting.
    All plans
  • WP-Cron, on every plan. Action Scheduler runs on WP-Cron. Cron disabled with no system cron in its place, or blocked from starting, is checked on its own as “scheduled work stalled”.

Limits

  • It reads the queue; it does not run, retry, cancel or delete an action. It is read-only.
  • The direction and time to clear are readings of the last hour, not a prediction.
  • When the readings have a gap, it declines to give a direction rather than guess.
Stuck claims and gaps in the readings

Stuck claims. An action claimed by a runner and held longer than Action Scheduler’s own time limit is counted from outside the queue. Action Scheduler cleans these up itself, but only while the queue is running, so the claims that remain are the sign that it is not.

Gaps. The collector runs on the same cron as the queue, so when cron stalls the readings stall too. A rate measured across that gap would describe the outage as calm, so the dashboard says the readings have a gap and gives no direction.

05

Start using it

  1. Install the plugin from wordpress.org. It is read-only: it cannot change the site.
  2. Pair the site with the token from your dashboard. Setup, step by step
  3. Readings start at once. Judgements against the store’s own normal start once it has 48 hours behind it.

All plans On every plan, Watch (free) included. Watch: fixed checks for past-due and failing actions and for cron that cannot start. Monitor: the full queue, against its own normal. Compare plans

06

Questions

What does the free plan check?

Watch alerts when actions pile up past due, when they fail, and when cron cannot start. Monitor learns the queue’s own normal and adds the direction, the time to clear, stuck claims and the backlog by group. Insight adds an AI review of the likely cause to critical alerts.

Will it clear the backlog for me?

No. Operanse is read-only by construction. It tells you what is stuck and whose it is; running or cancelling actions stays with you or your developer.

Does it need a system cron?

Setup asks for one, because WP-Cron that waits for visitor requests runs late or not at all on a quiet site. The plugin shows a notice until it is in place.

Related features

Start a 14-day trialNo card. Every feature, on Insight, for 14 days. Or see all features.