Ir al contenido

Merge Datasets

Este modulo permite fusionar datos provenientes de múltiples ramas de un workflow en un único 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.

ParámetroTipoRequeridoDescripción
sourcesstringNoLista de nodos fuente esperados (se configura automáticamente 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 concatenación 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 (generación de datos para merge)
  • dataTransform (transformar datos después del merge)