Afgræns parallelitet
Brug en afgrænset kø på klientsiden, og send hvert job gennem en almindelig kompatibel anmodning. Dette styrer belastningen uden at forudsætte et batchslutpunkt på serveren.
En batchtilstand i en tjeneste er en separat API-kontrakt: brug kun dens rute og brødtekst, efter at de er offentliggjort i kontoindstillingerne eller specifikationen.
Afgrænset parallelitet styret af klienten
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øen
- Gør et internt job-ID deterministisk og unikt inden for én kørsel.
- Opdel et for stort sæt i håndterbare grupper.
- Hold fejl i ét element adskilt fra fejl i hele køen.
Indsaml resultater
Knyt et resultat til et internt ID, og bevar status for hvert job.
Prøv ikke automatisk alle job igen: prøv kun forbigående fejl igen efter kontrol af idempotens.