WooCommerce Status and Scheduled Actions: troubleshooting issues
Do unpaid orders keep hanging around, are integrations lagging behind, or is your shop acting strange after an update? Then you start at WooCommerce > Status. There you see how your server is set up, which errors WooCommerce has logged, and which tasks are running in the background or failing. This article shows what you find there and how to include the system report when you ask for help.
The tabs under WooCommerce > Status
| Tab | What you see there |
|---|---|
| System status | Versions of WordPress, WooCommerce and PHP, the memory limit, PHP settings such as max_input_vars, whether WP-Cron is enabled, the database, active plugins, and templates your theme is overriding. |
| Tools | Buttons to, for example, clear temporary data or recreate the shop pages. Make a backup first. |
| Logs | Messages from WooCommerce and extensions, such as your payment plugin. Serious errors end up in a log called fatal-errors. |
| Scheduled Actions | The queue of background tasks, by status. |
Scheduled actions and the Action Scheduler
A shop does a lot of work that doesn't happen with a single visitor click: canceling unpaid orders once the time for holding stock has passed, sending emails and webhooks, updating reports, cleaning up old data. WooCommerce uses the Action Scheduler for this, a queue that's also used by many other plugins, such as subscriptions and accounting integrations.
| Status | Meaning and what to do |
|---|---|
| Pending | Still needs to run. If many have a timestamp in the past, the queue is lagging behind: check your cron (below). |
| In-progress | Running now. If an action stays stuck for a long time, check the log next to it. |
| Complete | Done. By default these are automatically cleaned up after a month. |
| Failed | Produced an error. Read the message in the Log column. |
| Canceled | Deliberately not executed; usually nothing to worry about. |
For failed actions, the Group column and the name of the hook usually show which plugin created them. Often it's an integration that can't be reached, for example after a changed password. Fix the cause first, and then let the actions run again with Run. If the list keeps growing, don't just clear it, but find out which plugin keeps scheduling or failing.
WP-Cron and a real cronjob
The queue is processed through WP-Cron. By default, WordPress only starts its scheduled tasks when a visitor arrives. At night, little happens then, and during busy periods the work rides along on the request of a customer who wants to check out. For a shop, a real cronjob is therefore better:
- In
wp-config.php, add the linedefine('DISABLE_WP_CRON', true); - In DirectAdmin, under Cron Jobs, create a task with the command
/usr/local/bin/php /home/username/domains/example.com/public_html/wp-cron.php. Replaceusernameand the domain with your own. - Don't run the task more often than the rules for cron jobs allow. Our manual recommends starting a task no more than once every 10 minutes.
All steps and rules are listed in Cron Jobs: running tasks automatically and Creating a cronjob or task (and what to do if it doesn't run). Afterwards, check under Scheduled Actions whether the number of overdue pending actions is going down.
Finding errors: logs
- WooCommerce > Status > Logs: the log files of WooCommerce and your extensions, such as your payment plugin and
fatal-errors. - Your website's error log in DirectAdmin: see Site overview and logs: the error log and the access log.
Sending the system report to support
- Go to WooCommerce > Status and click Get system report.
- Click Copy for support and paste the report into your ticket, or click Download for support and attach the file.
- Mention what's going wrong, since when, and what you changed around that time. See Asking for help: what to share with support?
The support team for a payment plugin or other extension often asks for this report first. Never include passwords.
Further reading
- Understanding the WooCommerce System Status Report (English)
- Action Scheduler (English)
- Free WordPress course, lesson 6.3 Images, PHP and other speed gains, about WP-Cron
