Server Requirements

  • The PHP SimpleXML module be enabled
  • Depending on the number of properties and the time/memory required to generate feeds, you may need to increase timeout and memory related settings on the server. If you notice exports starting but not completing this is most likely the cause,

Automated tasks

The NovaLoca Export add on is designed in such a way that it runs automatically in the background so updates made to properties in Property Hive are automatically reflected in exports with no manual interaction.

As a result, we need automated tasks in WordPress to be working.

How automated tasks work in WordPress

By default WordPress has it's own in-built automated tasks management service called WP-Cron.

The WordPress docs cover this in more but, in a nutshell, it relies on visitors to the site in order to trigger an automated task firing.

This means if you have an export due to process at 2pm, but nobody visits the site until 4pm, the export won't run until then.

This means even if you have an export set to run every hour, if the site isn't visited all day, it won't fire.

Changing to a Linux cron job

If you're looking for reliable execution of exports at exact times without needing to wait for a visitor to the site, setting up a Linux cron job is the best approach.

Although it require a level of technical expertise there are hundreds of guides about how to do this online:

Alternatively, any good hosting company should be able to set this up on your behalf.

Debugging automated tasks not running

By far the best way to debug issues with automated tasks not firing is to use a plugin called WP Crontrol.

With the WP Crontrol plugin installed and activated you can navigate to 'Tools > Cron Events' in WordPress where it will show you all the scheduled tasks, but more importantly, if there are any errors with these tasks firing or if they're overdue:

If the plugin reports issues then the solution is to either:

  1. Speak to your hosting company. The reason the automated tasks can't fire is down to the server/hosting.
  2. Change to use a Linux cron job.