cicora.ai
Spécification de l’APITravail asynchrone

Exécution par lot

Traitez les opérations indépendantes en groupes contrôlés lorsque le flux de travail permet une livraison asynchrone.

Référence d’intégration : choisissez les paramètres et les capacités disponibles dans les réglages de l’API de votre compte et dans le catalogue de modèles de votre environnement.

Limiter le parallélisme

Utilisez une file d’attente limitée côté client et envoyez chaque tâche au moyen d’une requête compatible ordinaire. Cela permet de contrôler la charge sans supposer l’existence d’un point de terminaison serveur pour le traitement par lot.

Le mode de traitement par lot d’un service constitue un contrat d’API distinct : n’utilisez sa route et son corps qu’après leur publication dans les réglages du compte ou dans la spécification.

Parallélisme limité contrôlé par le client
typescript
async function runWithLimit(items, limit, work) {
  const results = [];
  for (let offset = 0; offset < items.length; offset += limit) {
    const group = items.slice(offset, offset + limit);
    results.push(...await Promise.all(group.map(work)));
  }
  return results;
}

Contrôler la file d’attente

  • Rendez l’ID interne de la tâche déterministe et unique au sein d’une exécution.
  • Divisez un ensemble trop volumineux en groupes faciles à gérer.
  • Distinguez l’échec d’un élément de celui de l’ensemble de la file d’attente.

Recueillir les résultats

Rattachez un résultat à un ID interne et conservez le statut de chaque tâche.

Ne relancez pas automatiquement toutes les tâches : ne réessayez que les échecs temporaires après avoir vérifié l’idempotence.