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.