Begränsa parallellitet
Använd en begränsad kö på klientsidan och skicka varje jobb genom en vanlig kompatibel begäran. Det styr belastningen utan att förutsätta en batchslutpunkt på servern.
Ett batchläge i tjänsten är ett separat API-kontrakt: använd dess sökväg och innehåll först när de har publicerats i kontoinställningarna eller specifikationen.
Klientstyrd begränsad parallellitet
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;
}Styr kön
- Gör ett internt jobb-id deterministiskt och unikt inom en körning.
- Dela upp en alltför stor mängd i hanterbara grupper.
- Håll fel i ett objekt åtskilt från fel i hela kön.
Samla in resultat
Koppla ett resultat till ett internt id och spara statusen för varje jobb.
Försök inte automatiskt igen med alla jobb: försök endast igen vid tillfälliga fel efter kontroll av idempotens.