Crear una tarea programada para Prestashop desde Plesk

En esta ocasión vamos a explicar como crear una tarea programada dentro de Plesk. Como ejemplo vamos a usar el comando o URL que nos facilita Prestashop para regenerar el indice de productos del buscador.

 

1. Primero necesitamos la URL o comando para automatizar su ejecución, accedemos al back office de nuestro Prestashop, “Parámetros de la tienda”, “Búsqueda“.

 

 

2. Entramos al panel de control Plesk y pinchamos en “Tareas programadas“.

 

 

3. Hacemos click en “Añadir tarea“.

 

 

4. En “Tipo de tarea” seleccionamos la opción “Obtener una URL“, y en el campo de “URL” la que copiamos en el primer paso del back office de Prestashop. Terminamos eligiendo la periodicidad deseada, en nuestro caso diaria (Diariamente) a las 04 de la madrugada.

 

 

Existen otras opciones más complejas de ejecución o periodicidad que sería “Estilo cron”, añadimos algunos ejemplos.

Cada 5 minutos:

*/5 * * * *

Cada 2 horas, el minuto 1:

1 */2 * * *

Los minutos 10, 20 y 30 de cada hora:

10,20,30 * * * *

 

Algunos de nuestros planes de hosting no incluyen el servicio de tareas programadas. Se pueden contratar adicionalmente, o ampliar a un plan superior que si las incluya.

Incrementar tiempo máximo de ejecución en Plesk con Nginx y Apache

En las últimas versiones de Plesk se han implementado distintas funcionalidades que ofrecen mayor rendimiento, pero complican bastante incrementar el tiempo máximo de ejecución del dominio/servidor, en esta entrada explicamos los pasos a seguir.

 

1. En la gestión del dominio dentro de Plesk tenemos dos apartados en los que tenemos que realizar cambios, “Configuración de PHP” y “Configuración de Apache y nginx”.

 

 

2. Entramos en “Configuración de PHP” y cambiamos el valor del campo “max_execution_time” y “max_input_time” como vemos en la imagen inferior por el valor deseado (en este caso 600 segundos / 10 minutos) y hacemos click en “Aceptar”.

 

 

3. Ahora dentro de “Configuración de Apache y nginx”, en  el campo de “Directivas adicionales para HTTP” y “Directivas adicionales para HTTPS” añadimos:

 

<IfModule mod_proxy_fcgi.c>
ProxyTimeout 600
</IfModule>

 

Y en campo de “Directivas adicionales de nginx” añadimos:

 

proxy_connect_timeout 600;
proxy_send_timeout 600;
send_timeout 600;

 

 

Por nuestra parte, no recomendamos mantener estos valores muy elevados de forma definitiva salvo que sea 100% necesario. Hacerlo supone que los procesos o visitas bloqueadas no “mueran” hasta llegado el tiempo máximo de ejecución. Si el valor es muy elevado, y se acumulan muchos procesos bloqueados, puede incrementar la carga del servidor, consumo de recursos, generar lentitud y caídas del servicio. Es mejor tener quedarse cortos e incrementarlo de forma progresiva, que poner un valor muy elevado de primeras.

 

IMPORTANTE: Dentro de Loading, esta opción solo es válida para servidores VPS y dedicados. En hosting compartido este cambio lo realizamos mediante ticket de soporte.