Configuración de CRON Jobs
En este tutorial veremos cómo configurar CRON Jobs para feeds previamente creados
Parte 1 - Configuración de CRON
Nota importante: Como ya vimos en secciones anteriores, podremos crear únicamente CRON Jobs para feeds cuya configuración sea "Save to my server" o "Saved into external server" (zona "File configuration").
Como ya vimos en la sección "Obtener URL de feed" presionamos enlace "HERE" del segundo cuadro azul de información de la pestaña "Feed".
Aparecerá un popup con la información de nuestros feeds y un resumen con colores para configurar CRON Jobs en nuestro servidor. Para nuestro ejemplo hemos creado 2 feeds.
Punto 1: Esta configuración no es compatible para usarla mediante CRON Jobs, ya que el tipo de salida de este feed es "Download from my web browser" (Descargar desde mi ordenador). Este punto sirve para la página "Obtener URL de feed" que podemos encontrar en esta documentación.
Punto 2: Hacemos click en "Copy to clipboard" (copiar al portapapeles) para copiar la ruta al archivo php que lanzará nuestro proceso de generación de feed, esta ruta formará parte de nuestro comando CRON.
Punto 3: Este punto nos explica el comando que debemos de ejecutar en nuestro servidor para crear el CRON Job.
IMPORTANTE: Antes de continuar debemos conocer la ruta donde se encuentra instalado PHP en nuestro servidor, dependiendo del tipo de servidor que estés usando, esta ruta puede variar, pero normalmente suele ser "/usr/bin/php", "/usr/local/bin/php", "/usr/local/cpanel/3rdparty/bin/php".
Para conocer la ruta PHP, puedes crear un archivo phpinfo.php, y buscar "PHPBIN", si no lo encuentas puedes ponerte en contacto con tu soporte ténico de hosting y ellos podrán ayudarte.
Una vez conocida la ruta php, podemos configurar nuestro CRON Job. Lamentable los CRON Jobs no se configuran igual en todos los hosting, siempre hay algunas diferencias, lo que tenemos que tener en cuenta es la división del comando CRON, ya que en algunos hosting estas divisiones se configuran de forma diferente.
* * * * * [PATH_TO_PHP] [PATH_TO_PHP_FILE]
División 1 -> * * * * *: Como podemos ver en la captura, aquí estableceremos la frecuencia con la que nuestro CRON Job será ejecutado, algunos hosting permiten configurar la frecuencia mediante selectores (Días de la semana - Selecciona : 1,2,3,4,5,6,7). Vamos a ver alguno ejemplos:
0 0 * * * -> Se ejecutará todos los días del año a las 00:00
0 0 * * 0,2,5 -> Se ejecutará todos los Lunes, Miércoles y Sábados del año a las 00:00
0 0 1 1 * -> Se ejecutará todos los 1 de Enero a las 00:00
División 2 -> [PATH_TO_PHP]: La ruta PHP que ya explicamos anteriormente.
División 3 -> [PATH_TO_PHP_FILE]: La ruta y parámetros al archivo PHP que lanzará nuestro proceso de generación de feed, como ya vimos en el "Punto 2" podemos obtenerlo haciendo click en "Copy to clipboard"
UN EJEMPLO COMPLETO DE COMANDO CRON: 0 0 * * * /usr/bin/php /var/public_html/myshop.com/catalog/controller/extension/module/gmt_cron.php feed_id=1
Parte 2 - Obtener URL de archivo generado
Ya vimos en la parte 1 cómo configurar el CRON Job, este proceso automático generará un archivo en nuestro servidor (o en uno externo, dependiendo del modo de salida de feed que escogimos) que contiene todos los datos acerca de nuestros productos.
Tenemos que saber cual es la url directa a ese archivo para establecerla en nuestra configuración del mercado. Vamos a ver algunos ejemplos:
Nota: Como ejemplos, establecimos el nombre del archivo previamente "products_feed", nuestra tienda es myshop.com y un servidor externo es myexternalserver.com
- Formato de salida "Guardar en mi servidor": /var/public/myshop.com/
- URL: https://myshop.com/products_feed.xml
- Formato de salida "Guardar en mi servidor": /var/public/myshop.com/feeds/
- URL: https://myshop.com/feeds/products_feed.xml
- Formato de salida "Guardar en servidor externo": /home/feeds/
- URL: https://myexternalserver.com/feeds/products_feed.xml