Cron Jobs & Dedicated Queue Runner

Cron jobs on WooCart are executed with two methods:

  • Real cron job runner which requests cron job execution every minute. These cron jobs can run up to 180s and you can see them being run in traffic logs (/wp-cron.php?livenessProbe).
  • Dedicated cron job runner which runs every 30min with no execution limit (see it WP-CLI by running wp cron event run --due-now).

You can inspect a list of cron jobs and their last execution by using WP-CLI with wp cron event list or run all jobs manually wp cron event run --all.

To manage cron jobs use the plugin WP Crontrol.

Addon: Dedicated Queue Runner

In the case of a large number of cron jobs or scheduled actions (1000+), a dedicated queue runner improves performance by offloading the actions from the web server.

You can check the number of your scheduled actions in WooCommerce > Status > Scheduled Actions.

The addon has an additional monthly cost. It can be enabled or disabled at any time. The configuration is automatic and the store goes offline for a restart.

Adding a custom Cron job

If you need to add a custom cron job that runs, for example, a script, you can do that using WP Crontrol plugin.

  1. Install and activate the WP Crontrol plugin.
  2. Go to the Settings > Cron Events and click on Add Cron Event.
  3. Now enter the following details:
    Hook should be woocart_visit_url
    Arguments should be ["https://domain/file.php"] where you replace https://domain/file.php with the URL you need to call.
  4. Then click Add Event.

Troubleshooting Cron Errors: Allowed memory exhausted

To troubleshoot the issue, you need to install the WP Crontrol plugin. Follow the steps below to find the job exhausting the memory.

  1. Note the time the error happened from the Errors page. If it's a regular error, find the time interval.
  2. Open WP Crontrol by going to Tools > Cron Events.
  3. Open Cron Scheduled in the top menu and find the jobs that are running at the same interval as found in step 1.
  4. Go back to Cron Events and find the jobs from step 3.
  5. Run jobs one-by-one, leaving at least 5 minutes between runs. Monitor the Errors log in the WooCart dashboard. One of the jobs will show up in the log. Analyze that job, it usually comes from a plugin. You can then either disable that plugin or troubleshoot the issue further with a developer.
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us