Libérese de las tareas repetitivas: ¡automatice sus importaciones!
Automatización con una tarea CRON
Una tarea CRON es un programa disponible en sistemas tipo Unix (Linux, Mac OS...) que permite programar tareas repetitivas a intervalos regulares.
En efecto, es interesante que las tareas comunes y repetitivas sean realizadas automaticamente por el sistema en lugar de tener que ejecutarlas manualmente It is indeed interesting to get the system to run recurent and repetitive tasks automatically instead of involving a manual intervention by the user.
A continuación le mostramos cómo simplificar su vida automatizando sus importaciones de CSV con una tarea CRON, que le permitirá crear y/o modificar sus productos automáticamente.
Configure su importación una primera vez para comprobar que la importación funciona con la configuración utilizada.Una configuración típica sería identificar los productos por su referencia y sustituir las propiedades del producto.
Descargue el archivo adjunto a este artículo
Descomprímelo y cámbiale el nombre a cron_import_YYY.php (elige un nombre conveniente)
Edita este archivo para configurarlo
Las primeras líneas permiten modificar la configuración:
Example
Nota importante: No utilice la clave de seguridad en este artículo, es un ejemplo.
A continuación, coloque el archivo en su servidor en la siguiente carpeta (/XXX/ es una serie de números/letras específicas de su instalación):
A continuación, puede llamar simplemente a esta URL a través del CRON de su servidor:
www.mitienda.com/modulos/storecommander/XXX/SC/cron_import_YYY.php?s_key=4hfsz65j4e68h4reh
cron_import.php
2.9 KB
Recuperar un archivo CSV remoto para utilizarlo en una tarea CRON de importación
El archivo de importación que desea automatizar con una tarea CRON se encuentra en una URL remota.
Estos son los datos que debe añadir al archivo de configuración php para que esta acción sea posible.
Primero, deberá crear el archivo de configuración en su servidor.
Para recuperar el archivo CSV situado en una URL remota, añada las líneas siguientes al archivo php, en la 4ª línea, justo antes // CSV filename:
$data = file_get_contents('http://url/Del/Archivo/Distant.extension'); if($data == false) { die("Error: Imposible recuperar los datos. Compruebe la url de su archivo remoto y su accesibilidad."); } if(empty($data)) { die("Error: Datos vacíos"); } file_put_contents('../../import/su_archivo_csv.csv',$data); unset($data);El nombre que habrá elegido para su archivo CSV local deberá ser el que indique en el parámetro:
$_GET['filename'] = 'file_to_import.csv'; Uso del auto-import CSV con tareas CRON
Para completar nuestro artículo sobre importaciones automatizadas mediante tareas CRON, también puede configurar varias tareas CRON para importar un archivo CSV grande en varias etapas.
Para esto, es necesario:
En el script PHP de su tarea CRON, configure el parámetro "olderthan" a 120 minutos por ejemplo, así los productos que han sido modificados hace menos de 120 minutos no se tratarán.
El parámetro "deletetodofile" debe mantenerse en 0 para que las tareas CRON continúen la misma importación y no vuelvan a empezar la importanción desde el principio del archivo CSV.
Configure en la interfaz de su script el número de líneas que vaya a importar en una cuarta parte del número de líneas de su archivo CSV (si tiene 1956 productos, por ejemplo, configure el número de líneas a tratar en 500 para 4 tareas CRON * 500 líneas = 2000 líneas tratadas en total)
Luego inicie varias veces seguidas la tarea CRON (en nuestro ejemplo: 4 veces cada 20 minutos por ejemplo, hay que mantener un intervalo de 20 minutos para evitar importar de nuevo varias veces las mismas informaciones).
Así su archivo se tratará en 4 veces en lugar de una sola, pero puede adaptar estos parámetros en función del tamaño de su archivo CSV.