Sincronización

 La sincronización del plugin de PrestaShop funciona de la siguiente manera:

  • en primer lugar, el plugin pregunta a Sales Layer por los ítems que necesitan ser sincronizados. Estos ítems se guardarán en la base de datos del servidor del cliente. Información que corresponde a los datos brutos que tienen que ser sincronizados.
  • a continuación, el plugin empezará a recolectar los ítems de la base de datos, y una vez procesados, el plugin los elimina de los datos en bruto que está pendiente de sincronizar.  

 

Importante

 

Es muy importante tener en cuenta que desde la versión 1.5.0 del plugin, la barra de progreso agrupa los productos a actualizar junto a sus variantes, por lo que ya no se cuentan de forma individual como en versiones anteriores. Es decir, al sincronizar un producto, la barra de progreso aumenta en una unidad pero incluye también la sincronización de sus variantes. Este cambio en el contenido puede provocar que algunos clientes que han usado versiones anteriores del plugin puedan tener la percepción de que la barra de progreso avanza de forma más pausada.

Estado de sincronización

 

En la pestaña “Connectors”, en el plugin de Sales Layer para PrestaShop, podemos encontrar la barra de progreso de la sincronización que muestra el estado de la sincronización, el porcentaje del progreso, el número de ítems a sincronizar y el número de procesos de sincronización que se están ejecutando en paralelo.

 

Tipos de procesos

 

El plugin agrupa diferentes tipologías de datos para optimizar las sincronizaciones, por lo que hay múltiples definiciones de un ítem independiente.

  • Categories to remove
  • Products to remove
  • Variants to remove
  • Categories created or updated
  • Products grouped with their variants, to be created or updated
  • Orphaned variants without product in Sales Layer
  • Set of images to be stored or updated (maximum of 7000 images in one process)
  • Items whose only change is the stock field. 

Por ejemplo: si tenemos 10 categorías pendientes de eliminar y 3 categorías que han de ser creadas, la barra de progreso mostrará un total de 13 ítems.

Adicionalmente, desde la versión 1.5.3, el plugin incluirá información sobre la carga de imágenes a sincronizar o las tareas de indexación en la misma barra de progreso.

Atento: en versiones previas a la 1.5.0, el plugin no agrupa productos con variantes en un mismo ítem, por lo que si se migra de una versión previa a la 1.5.0, puede dar la percepción de que la barra de progreso sea más lenta

Paralelización de procesos de sincronización

El plugin aprovecha las distintas tipologías de datos para agrupar la información a sincronizar. De este modo, el plugin puede tener los siguientes procesos:

  • un proceso para gestionar los ítems a eliminar.
  • un proceso para gestionar ítems a crear o actualizar.
  • un proceso para gestionar las imágenes a almacenar o actualizar (en conjuntos de como máximo 7000 imágenes).
  • un proceso para gestionar la edición de ítems cuyo único cambio se ha producido en el campo “stock”.

 

Ejecución múltiple de procesos de sincronización

 El plugin introduce varias mejoras que ayudan a optimizar la velocidad de sincronización.

  • Desde la versión 1.5.0 se introduce el procesamiento asíncrono de ítems.
  • Gracias a este procesamiento asíncrono, el plugin puede ejecutar varios procesos simultáneamente y ganar así velocidad de procesamiento.
  • Añade un cálculo dinámico del número de procesos que se ejecutan. Este cálculo se obtiene a partir de la carga actual de la CPU. Así, si la CPU no está muy cargada, el balanceador crea procesos y los alcanza. 

Nota: puedes revisar el número de procesos actualmente en ejecución dentro de la propia barra de progreso. En el ejemplo: “2x” indica que hay dos procesos.

 

1