Traitement par lots

Traitez des ensembles de données volumineux en les divisant en lots configurables avec déduplication, filtrage et agrégation automatique des résultats.


Comment fonctionne le traitement par lots

Lorsqu'une étape du flux de travail reçoit un ensemble d'éléments (prospects, investisseurs, URLs), le traitement par lots le divise en morceaux plus petits, traite chaque lot indépendamment, puis agrège les résultats. Cela évite les délais d'attente, gère les limites de débit API et permet le traitement parallèle.

Le pipeline: Résolution de l'élémentCréation de lotsExécution parallèleAgrégation.


Configuration

Activez le traitement par lots à n'importe quelle étape en ajoutant un batchConfig objet:

{
  "batchConfig": {
    "enabled": true,
    "size": 25,
    "sourceVariable": "leads",
    "idField": "email",
    "qualifiedOnly": false,
    "maxItems": 500
  }
}
ChampTaperDescription
taillenombreArticles par lot (par défaut: 25)
variable sourcechaîneNom de la variable contenant le tableau à traiter par lots
champIDchaîneChamp utilisé pour la déduplication (par exemple, « email »)
qualifiéSeulementbooléenFiltrer uniquement les éléments ayant réussi la notation précédente
maxItemsnombreNombre total maximum d'éléments à traiter

Déduplication

Quand un idField est défini, le traitement par lots déduplique les éléments avant le traitement. S'il existe des doublons, l'élément ayant le score le plus élevé est conservé. Cela empêche re-processing d'utiliser la même piste ou la même entité dans tous les lots.


Agrégation des résultats

Une fois tous les lots terminés, les résultats sont fusionnés et les métriques sont calculées automatiquement:

  • Totaux — nombre total d'éléments traités, réussis, échoués
  • Moyennes — score moyen, score médian
  • Le niveau compte — répartition selon les niveaux de score (élevé, moyen, faible)
  • Répartition des scores — histogramme des scores pour tous les éléments

Exemple: notation de 2 000 investisseurs

Un workflow de mise en correspondance des investisseurs traite une base de données de 2 000 investisseurs par lots:

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

Cas de pointe

  • Tableaux vides — Le traitement par lots se termine immédiatement avec les métriques zero-count
  • Lots ayant échoué — Les échecs de lots individuels n'interrompent pas l'intégralité de l'exécution; les éléments ayant échoué sont signalés dans les résultats agrégés
  • Plus de maxItems — Les éléments au-delà de la limite sont supprimés silencieusement avant la création du lot

Prochaines étapes