Rajaa rinnakkaisuus
Käytä rajattua asiakaspuolen jonoa ja lähetä jokainen työ tavallisena yhteensopivana pyyntönä. Näin hallitset kuormaa olettamatta palvelimen eräpäätepistettä.
Palvelun erätila on erillinen API-sopimus: käytä sen reittiä ja pyyntörunkoa vasta, kun ne on julkaistu tilin asetuksissa tai määrityksessä.
Asiakkaan hallitsema rajattu rinnakkaisuus
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;
}Hallitse jonoa
- Tee sisäisestä työtunnuksesta deterministinen ja yhden ajon sisällä yksilöllinen.
- Jaa liian suuri joukko hallittaviin ryhmiin.
- Pidä yhden kohteen virhe erillään koko jonon virheestä.
Kerää tulokset
Yhdistä tulos sisäiseen tunnukseen ja säilytä jokaisen työn tila.
Älä yritä kaikkia töitä automaattisesti uudelleen: yritä idempotenssin tarkistamisen jälkeen uudelleen vain tilapäisen virheen vuoksi epäonnistuneita töitä.