Saltearse al contenido

MergeResults

El modulo mergeResults es una version avanzada del Merge que soporta iteraciones anidadas con niveles jerarquicos. Recopila los resultados de cada iteracion procesada, los almacena en memoria (no en base de datos) y, cuando se recibe el ultimo chunk, combina todos los resultados ordenados por indice. Soporta claves de merge unicas por nivel de iteracion (mergeLevel) y grupo (mergeGroupKey), lo que permite manejar correctamente iteraciones dentro de otras iteraciones. Cada resultado incluye el estado (ok/error), los datos del registro procesado y la ruta de iteracion.

ParametroTipoRequeridoDescripcion
(sin parametros configurables)--Este modulo no requiere configuracion adicional. Opera automaticamente basandose en los metadatos _meta_ del data y el contexto de memoria.
{
"nextModule": "siguiente_modulo",
"data": {
"summary": [
{ "index": 0, "status": "ok", "record": { "resultado": "dato1" }, "iterationPath": "0" },
{ "index": 1, "status": "ok", "record": { "resultado": "dato2" }, "iterationPath": "1" },
{ "index": 2, "status": "error", "record": { "error": "mensaje" }, "iterationPath": "2" }
],
"_iterating": false,
"mergeInfo": {
"level": 0,
"groupKey": "uuid-iteracion",
"totalItems": 3
}
}
}
{
"label": "mergeResults Iterator"
}
  • Utiliza el sistema de memoria del contexto (ctx.memory) en lugar de la base de datos para almacenar resultados parciales.
  • Requiere _meta_.workflowRunId y _meta_.totalChunks para funcionar.
  • La clave de memoria se construye como: mergeResults_{workflowRunId}_{mergeGroupKey}_{mergeLevel}.
  • Soporta iteraciones anidadas gracias a mergeLevel y mergeGroupKey en los metadatos.
  • Los resultados se ordenan por indice antes de la salida final.
  • La memoria se limpia automaticamente al completar el merge.
  • Si aun faltan chunks, retorna nextModule: null con _iterating: true y el progreso actual.
  • Cada resultado incluye status: "ok" o status: "error" segun si hubo errores en el procesamiento.
  • Iterator - divide un array en chunks
  • Merge - version basica del merge con base de datos
  • MergeIterator - merge simplificado para iteraciones
  • Repeater - genera repeticiones que luego se recombinan