PrestaShop CRON tasks (exports, synchronisations) don’t run
A PrestaShop CRON task, such as a daily CSV export, is almost never run by PrestaShop itself: it’s a specific URL, often protected by a token parameter, that a real system cron at the host needs to call on a schedule. Installing a module that promises a daily automatic export isn’t enough on its own until that cron entry exists at the hosting level.
A scheduled task isn’t an internal scheduler
A module promising a daily automatic export actually just prepares a URL to call, something like index.php?controller=...&token=.... PrestaShop doesn’t watch the clock in the background to trigger this on its own.
It takes a real system cron, set up at the host, a crontab entry or its equivalent in the hosting control panel, calling that URL on a schedule. Without that entry, the task works perfectly when clicked manually to test it, and never fires on its own afterwards. That’s the most common confusion behind this symptom.
Why it works in testing but never on its own
Some entry-level shared hosting plans limit, or simply don’t allow, setting up a real system cron, or only permit a small number of entries with a high minimum interval. The module looks poorly built when it’s actually the ability to schedule a cron that’s missing at the hosting level.
Another common cause: a script that runs longer than an HTTP request is allowed to. A cron triggered by a standard web request is often capped at a few dozen seconds of execution; an export or sync processing a large catalogue can exceed that and stop partway through, with nothing clearly flagging it.
What I check and configure
-
The exact URL expected
I get the full URL with its token parameter, usually visible in the settings screen of the scheduled task or the module involved.
-
Whether a real cron is available at the host
I check the hosting plan allows creating a system cron entry, at a frequency matching the actual need (daily, hourly...).
-
The script’s execution time
If processing exceeds the time an HTTP call allows, I check whether the work needs splitting into batches or moving to a command-line execution.
-
The actual result of the run
I make sure the automatically called URL produces the same result as a manual call, not a silent error caused by a missing session or missing permissions.
Related pages
-
Custom PrestaShop module development
When an export script needs splitting into batches or adapting to command-line execution rather than HTTP.
-
PrestaShop 1.6 to 1.7 or 8 migration
Why scheduled tasks are worth rechecking after a hosting or version change.
-
Slow-loading PrestaShop store
When a heavy background job also slows down the pages visitors see.
Describe your need in one minute
A few targeted questions so I can reply with an estimate rather than another questionnaire.