# 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.

- Source canonique : [https://allaux.fr/en/prestashop/problemes/taches-cron-ne-sexecutent-pas](https://allaux.fr/en/prestashop/problemes/taches-cron-ne-sexecutent-pas)
- Langue : EN
- Dernière mise à jour : 2026-09-30

## Direct answer

> Copy the URL the module displays, token included, and call it by hand in a browser: if the task runs, PrestaShop is not at fault — the cron entry is simply missing on the hosting side. Create it in the host’s panel or in crontab, ideally through the PHP command line so it does not hit the HTTP timeout.

## 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.

## Check the host’s control panel first

> Before touching the module, I check whether the host offers cron task creation in its admin panel, and whether the URL PrestaShop expects is registered there at the right frequency.

## What I check and configure

1. **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.
2. **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...).
3. **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.
4. **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/module-sur-mesure](/prestashop/module-sur-mesure))
- **PrestaShop 1.6 to 1.7 or 8 migration** — Why scheduled tasks are worth rechecking after a hosting or version change. ([/prestashop/migration](/prestashop/migration))
- **Slow-loading PrestaShop store** — When a heavy background job also slows down the pages visitors see. ([/prestashop/boutique-lente](/prestashop/boutique-lente))

## FAQ

### Why does my export work when I click it but never on its own?

Because clicking triggers the URL manually, while no system cron at the host is set up to call it automatically. They’re two different things.

### My host doesn’t offer cron creation, what should I do?

Some entry-level shared plans don’t allow it, or heavily restrict it. Check for an alternative with the same host, or move this specific need to a different plan.

### The export always stops at the same point, why?

It’s often the time limit for an HTTP request being exceeded. The script needs adapting to process smaller batches, or to run from the command line rather than via a URL.

### Is a PrestaShop CRON task different from a standard Linux cron job?

Not in principle, but PrestaShop exposes a URL to call rather than a script run directly from the command line. The host’s system cron is what links the two.

### Is setting up a cron at the host always enough?

Not always. If the script fails for other reasons, exceeded time limit, insufficient memory, a logic error in the export, setting up the cron only fixes the triggering, not the processing itself.
