Cron en PrestaShop: tareas programadas bien hechas
Suscripciones, feeds de Google, sincronización con el ERP: muchas cosas dependen de un cron. Te enseñamos a configurarlos para que no fallen en silencio.
Actualizado: 26/09/2026
7
Compartir:
Muchas funciones de una tienda no las dispara un cliente, sino el reloj: cobrar las renovaciones de suscripciones, regenerar el feed de Google Shopping, sincronizar el stock con el ERP, limpiar carritos. Para eso están las tareas cron.
Dos formas de lanzarlas
Por URL
*/15 * * * * curl -s "https://tienda.com/module/mimodulo/cron?token=XXXX" > /dev/null
Sencillo y funciona en cualquier hosting, pero la tarea está sujeta a los límites del servidor web (tiempo de ejecución, caché de página, cortafuegos).
Por línea de comandos
*/15 * * * * cd /var/www/tienda && php modules/mimodulo/cron.php >> var/logs/cron-mimodulo.log 2>&1
Sin límites del servidor web y con registro propio. Es la opción preferible cuando hay SSH.
Seguridad
- Toda URL de cron debe llevar un token largo y aleatorio, y comprobarlo antes de hacer nada.
- Nunca pongas el token en un enlace público ni en el robots.txt.
- Si la tarea hace cobros o envía correos, que sea idempotente: ejecutarla dos veces no debe cobrar dos veces.
Que no fallen en silencio
- Guarda un registro con fecha, qué hizo y cuánto tardó.
- Guarda la fecha de la última ejecución correcta y muéstrala en el back office del módulo.
- Avisa (correo, Telegram, Slack) si una tarea crítica lleva demasiado sin ejecutarse.
En copias y entornos de pruebas, desactiva los crons que cobran o envían correos. Una copia de la tienda con las claves reales de la pasarela y el cron de renovaciones activo puede cobrar a clientes reales.
Frecuencias razonables
| Tarea | Frecuencia |
|---|---|
| Renovaciones de suscripciones | Una o varias veces al día |
| Sincronización de stock | Cada 5–15 minutos |
| Feeds de productos | Una vez al día |
| Limpieza de datos | Una vez a la semana o al mes |
0 comments
info
Debes iniciar sesión para comentar.
Acceso
Cargando...