Parallellisatie begrenzen
Gebruik een begrensde wachtrij aan clientzijde en verstuur elke taak via een gewone compatibele aanvraag. Zo beheert u de belasting zonder uit te gaan van een batch-endpoint op de server.
Een batchmodus van een dienst is een afzonderlijk API-contract: gebruik de route en inhoud pas nadat deze in de accountinstellingen of specificatie is gepubliceerd.
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;
}De wachtrij beheren
- Maak een interne taak-ID deterministisch en uniek binnen één uitvoering.
- Splits een te grote verzameling op in hanteerbare groepen.
- Houd het mislukken van één item gescheiden van het mislukken van de hele wachtrij.
Resultaten verzamelen
Koppel een resultaat aan een interne ID en bewaar de status van elke taak.
Probeer niet automatisch alle taken opnieuw: probeer alleen tijdelijke fouten opnieuw nadat u de idempotentie hebt gecontroleerd.