Set up a cron job
RowSprout generates pages in the background. When you save a template, its rows go into a queue, and every minute the queue builds the next batch of pages. That queue is run by Action Scheduler, which in turn relies on WordPress’s scheduler, WP-Cron.
Why a cron job
Section titled “Why a cron job”WP-Cron is not a real timer: it only runs when someone loads a page of your site. That works on a busy site, but generation stalls when:
- the site gets few visitors, for example a new site or a staging copy;
- a page cache or CDN answers visitors without loading WordPress;
- WP-Cron is switched off with
DISABLE_WP_CRON, often by the host.
While you have the WordPress admin open, RowSprout keeps the queue moving on its own, so you may only notice the problem after you close the browser: the remaining pages stop appearing under RowSprout → Pages.
A cron job on the server fixes this by running WordPress’s scheduled tasks every minute, visitors or not. It also keeps the rest of WordPress’s scheduled tasks on time, such as scheduled posts, and RowSprout Pro’s licence check.
Set it up
Section titled “Set it up”-
Stop WP-Cron from running on page loads. Add this line to
wp-config.php, above the line/* That's all, stop editing! */:define( 'DISABLE_WP_CRON', true );Visitors then no longer trigger the scheduled tasks; the cron job from the next step does. Skip this step if the line is already there.
-
Add a cron job that runs every minute. Pick the method your hosting supports. Replace the path and the address with your own.
The most reliable option, if WP-CLI is available on your server. It runs the tasks directly, without an HTTP request:
Terminal window * * * * * wp --path=/var/www/example.com cron event run --due-now --quiet > /dev/null 2>&1--pathis the folder that holdswp-config.php. Add the line withcrontab -e, as the user that owns the WordPress files.Calls
wp-cron.phpover the web, like a visitor would. Usewgetorcurl, whichever your server has:Terminal window * * * * * wget -q -O - "https://example.com/wp-cron.php?doing_wp_cron" > /dev/null 2>&1Terminal window * * * * * curl -s "https://example.com/wp-cron.php?doing_wp_cron" > /dev/null 2>&1Make sure your page cache, CDN or security plugin does not cache or block
wp-cron.php.Most hosts offer cron jobs in their control panel, for example Cron Jobs in cPanel or Scheduled Tasks in Plesk. Create a new task, set it to run every minute, and use one of the commands from the other tabs.
Some hosts only allow every 5 or 15 minutes. That works too: pages are then generated in bigger steps instead of every minute.
-
Check that it works. Save a template with Create & update pages and close the browser. Within a few minutes, the new pages should be listed under RowSprout → Pages.
See what the queue is doing
Section titled “See what the queue is doing”Go to Tools → Scheduled Actions and search for rowsprout:
- Pending actions that are due in the future are normal: the recurring queue tick is always scheduled for the next minute.
- Pending actions that are past due by more than a few minutes mean nothing is running the queue. Check the cron job, and that
wp-cron.phpis reachable. - Failed actions show the error that stopped a page from being generated.
With RowSprout Pro and WP-CLI, wp rowsprout queue-status shows how many rows are waiting, and wp rowsprout process-queue processes the queue right away. See the WP-CLI commands.