Saltearse al contenido

Merge

El modulo Merge recopila y unifica datos de multiples chunks procesados en paralelo (por ejemplo, desde un Iterator). Espera a que todos los chunks de una ejecucion (identificados por workflowRunId) hayan sido procesados y almacenados en la base de datos. Cuando se recibe el ultimo chunk, combina todos los datos en un array unificado (mergedResult) y limpia los registros temporales. Si aun faltan chunks, retorna un mensaje de espera sin continuar el flujo. Es el complemento natural del Iterator para recombinar resultados.

ParametroTipoRequeridoDescripcion
(sin parametros configurables)--Este modulo no requiere configuracion adicional. Opera automaticamente basandose en los metadatos _meta_ del data.
{
"nextModule": "siguiente_modulo",
"data": {
"mergedResult": [
{ "item1": "datos_procesados_1" },
{ "item2": "datos_procesados_2" },
{ "item3": "datos_procesados_3" }
]
}
}
{
"label": "merge"
}
  • Requiere que los datos de entrada contengan _meta_.workflowRunId y _meta_.totalChunks para funcionar correctamente.
  • Los chunks se almacenan en la tabla merge_chunks de la base de datos.
  • Si no se han recibido todos los chunks, retorna nextModule: null con un mensaje de progreso.
  • Una vez completado el merge, se eliminan los registros temporales de la tabla merge_chunks.
  • Los datos se combinan en un array ordenado dentro de mergedResult.
  • Es el complemento del modulo Iterator: el Iterator divide, el Merge recombina.
  • Iterator - divide un array en chunks para procesamiento paralelo
  • MergeResults - merge avanzado con soporte para niveles de iteracion
  • MergeMultiple - merge de multiples ramas del flujo