Saltearse al contenido

Merge Datasets

Este modulo permite fusionar datos provenientes de multiples ramas de un workflow en un unico objeto consolidado. Funciona como un punto de convergencia donde se esperan datos de varios nodos predecesores antes de continuar. Los datos parciales se almacenan en una tabla temporal en base de datos (tempmergedata) hasta que todos los nodos fuente hayan enviado sus datos. Una vez que todos los origenes han contribuido, el modulo combina los resultados y los pasa al siguiente nodo. Es fundamental en workflows con ramas paralelas que necesitan reunirse en un punto comun.

ParametroTipoRequeridoDescripcion
sourcesstringNoLista de nodos fuente esperados (se configura automaticamente desde predecessors).
mapschemastringNoEsquema opcional para transformar los datos fusionados.
{
"nextModule": "siguiente_modulo",
"data": {
"nodo_api_1": { "resultado": "datos del nodo 1" },
"nodo_api_2": { "resultado": "datos del nodo 2" }
}
}
  • Los datos parciales se persisten en la tabla tempmergedata de la base de datos
  • El modulo solo continua cuando TODOS los nodos predecesores han enviado sus datos
  • Si no han llegado todos los datos, retorna nextModule: null (pausa el flujo)
  • Los metadatos (_meta_) y la propiedad source se eliminan de cada payload antes de almacenar
  • El merge key se construye como merge_{workflowId}_{node_name_alias}
  • Soporta deep merge con concatenacion de arrays y fusion recursiva de objetos
  • Cada dato parcial se almacena usando el nombre del nodo de origen como clave
  • iterador (procesamiento paralelo de registros)
  • dataset (generacion de datos para merge)
  • dataTransform (transformar datos despues del merge)