procesamiento por lotes

Procese grandes conjuntos de datos dividiéndolos en lotes configurables con deduplicación, filtrado y agregación automática de resultados.


Cómo funciona el procesamiento por lotes

Cuando un paso del flujo de trabajo recibe una serie de elementos (clientes potenciales, inversores, URLs), el procesamiento por lotes lo divide en partes más pequeñas, procesa cada lote de forma independiente y luego agrega los resultados. Esto evita tiempos de espera, administra los límites de velocidad de API y permite el procesamiento paralelo.

El oleoducto: Resolución del artículoCreación por lotesEjecución paralelaAgregación.


Configuración

Habilite el procesamiento por lotes en cualquier paso agregando un batchConfig objeto:

{
  "batchConfig": {
    "enabled": true,
    "size": 25,
    "sourceVariable": "leads",
    "idField": "email",
    "qualifiedOnly": false,
    "maxItems": 500
  }
}
CampoTipoDescription
tamañonúmeroArtículos por lote (predeterminado: 25)
fuenteVariablecadenaNombre de la variable que contiene la matriz a procesar por lotes
campo de identificacióncadenaCampo utilizado para la deduplicación (por ejemplo, "correo electrónico")
calificadosólobooleanoFiltrar solo para elementos que aprobaron la puntuación anterior
maxItemsnúmeroTotal máximo de artículos a procesar

Deduplicación

cuando un idField está configurado, el procesamiento por lotes deduplica los elementos antes del procesamiento. Si existen duplicados, se conserva el ítem con mayor puntuación. Esto evita que re-processing tenga el mismo cliente potencial o entidad en todos los lotes.


Agregación de resultados

Una vez completados todos los lotes, los resultados se combinan y las métricas se calculan automáticamente:

  • Totales — total de elementos procesados, aprobados, fallidos
  • Promedios — puntuación media, puntuación mediana
  • Recuentos de niveles — distribución entre niveles de puntuación (alto, medio, bajo)
  • Distribución de puntuación — histograma de puntuaciones en todos los elementos

Ejemplo: puntuación de 2000 inversores

Un flujo de trabajo de búsqueda de inversores procesa una base de datos de 2000 inversores por lotes:

Step: "Score Investors"
  batchConfig:
    size: 50
    sourceVariable: "investors"
    idField: "investor_id"
    maxItems: 2000

Execution:
  40 batches of 50 investors each
  Deduplication removed 23 duplicates
  Processing time: 4m 12s

Aggregated results:
  Total scored:    1,977
  High tier (8+):    312  (15.8%)
  Medium tier (5-7): 891  (45.1%)
  Low tier (<5):     774  (39.1%)
  Mean score:       5.7

Casos extremos

  • matrices vacías — El procesamiento por lotes se completa inmediatamente con métricas zero-count
  • Lotes fallidos — Los fallos de lotes individuales no detienen toda la ejecución; Los elementos fallidos se informan en resultados agregados.
  • Más de maxItems — Los elementos que superan el límite se eliminan silenciosamente antes de la creación del lote

Próximos pasos