Ir al contenido

MergeResults

El modulo mergeResults es una versión avanzada del Merge que soporta iteraciones anidadas con niveles jerarquicos. Recopila los resultados de cada iteración procesada, los almacena en memoria (no en base de datos) y, cuando se recibe el último chunk, combina todos los resultados ordenados por índice. Soporta claves de merge unicas por nivel de iteración (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 iteración.

ParámetroTipoRequeridoDescripción
(sin parámetros configurables)--Este modulo no requiere configuración adicional. Opera automáticamente 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 índice antes de la salida final.
  • La memoria se limpia automáticamente 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" según si hubo errores en el procesamiento.