How to solve “Processing 10%” feed generation stuck error?.

You start a feed, the progress bar climbs to around 10%, and then it stops — the feed never finishes generating. This almost always means the background job that builds the feed batch-by-batch has stalled, usually because WordPress cron is not running or a batch hit a PHP resource limit. This guide explains how CTX Feed generates feeds, why it gets stuck at a low percentage, and the fixes in the order most likely to work.

Why a feed gets stuck

CTX Feed does not build a large feed in one request — that would time out on most hosts. Instead it splits the catalog into batches and processes them one at a time, each in its own background request scheduled through WordPress’s task queue (Action Scheduler). The plugin sizes each batch automatically based on your server’s memory and time limits.

If the follow-up batches never run, the progress bar stops at a low number such as 10% and the feed never finishes. Two things cause that:

  1. WordPress cron / Action Scheduler is not firing, so the queued batches are never picked up.
  2. A batch hits the PHP time or memory limit on a large or heavy catalog and dies before finishing.

Fix 1 — Make sure the background queue is running

This is the most common cause. The scheduled batches need WordPress cron to run:

  • Confirm cron works on your site. If scheduled tasks in general do not run, feeds stall. See How to set up cron for automatic feed updates and Fix auto feed update not working issue.
  • Check the queue directly under WooCommerce → Status → Scheduled Actions — CTX Feed’s batches appear there. If they are Pending and never move to Complete, the queue is not processing.
  • If your host has disabled the default WP-Cron, set up a real server cron to hit wp-cron.php on a short interval so the queue drains promptly.

Once the queue runs, an already-started feed usually resumes and completes on its own. While cron is broken, keeping Manage Feeds open also helps: an open CTX Feed admin page runs the waiting batches itself, so the feed moves on while you watch.

Fix 2 — Raise your PHP time and memory limits

If a batch is dying mid-way, the server does not have enough execution time or memory for the work:

  • Increase max_execution_time and memory_limit for your site. The step-by-step is in How to increase your PHP memory limit and execution time.
  • A common comfortable baseline for feed generation is a memory limit of 256M or higher and an execution time of 300 seconds, but larger catalogs benefit from more.
  • After raising the limits, regenerate the feed.

CTX Feed reads these limits when it calculates batch size, so giving PHP more headroom lets it work in safer, more reliable batches. If a batch fails, CTX Feed retries the same products with a batch half the size before giving up.

Fix 3 — Clear the stuck run and regenerate

Only one feed generates at a time; while one is running, another feed shows “Another feed is currently generating” and waits. A stuck run’s lock expires on its own after about ten minutes, and Clear Cache removes it straight away:

  1. On CTX Feed → Manage Feeds, click Clear Cache in the header.
  2. Click Regenerate on the feed’s row to start a fresh run.
  3. Watch the progress bar in the Feed URL column — it should now advance past 10% and complete.

Fix 4 — Reduce the load for very constrained servers

On shared hosting with tight limits and a large catalog, even correctly running batches can be too heavy. Options:

  • Split a very large feed into smaller feeds (for example, by category — the Product categories filter requires CTX Feed Pro) so each generates comfortably.
  • Ask your host to raise limits or move to a plan with more resources — feed generation is CPU- and memory-bound.
  • Developers can tune the batch size with the ctxfeed_batch_size filter if a smaller batch generates more reliably on that server.

Troubleshooting checklist

  • Stuck at ~10% and never moves → the background queue is not running (Fix 1). Check WooCommerce → Status → Scheduled Actions.
  • Gets further, then dies on big catalogs → PHP time/memory limit (Fix 2). Raise the limits and regenerate.
  • Was stuck, now won’t start again → a lock from the previous run; wait a few minutes, Clear Cache, and Regenerate (Fix 3).
  • Small feeds finish, large ones don’t → resource limits or catalog size (Fix 2 and Fix 4).
  • Nothing scheduled at all → cron is disabled on the host; configure a real server cron.
Try CTX Feed for WooCommerce - Free Download or Upgrade to Pro

One thought on How to solve “Processing 10%” feed generation stuck error?

  1. Hi

    I am interested in your CTX Feed PRo plugin. I have more than 100.000 simple and variable products. My server settings are limited. I cannot increase more than 300 for PHP Execution Time because my hosting plan didn’t allow me to increase that.

    https://wpmudev.com/hosting/. I am using Platinum hosting plan.
    I will add more products. I will have more than 250.000 products. Does you plugin help me to create succesfully Google Feed? and What is your refund policy?

Leave a comment.