Omejena vzporednost
Uporabite omejeno čakalno vrsto na strani odjemalca in vsako opravilo pošljite z običajno združljivo zahtevo. Tako nadzorujete obremenitev, ne da bi predpostavili obstoj strežniške paketne končne točke.
Paketni način storitve je ločena pogodba API-ja: njegovo pot in telo uporabite šele, ko sta objavljena v nastavitvah računa ali specifikaciji.
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;
}Nadzirajte čakalno vrsto
- Interni ID opravila naj bo determinističen in edinstven znotraj posameznega zagona.
- Prevelik nabor razdelite v obvladljive skupine.
- Napako posameznega elementa ločite od napake celotne čakalne vrste.
Zberite rezultate
Rezultat povežite z internim identifikatorjem in ohranite stanje vsakega opravila.
Ne ponavljajte samodejno vseh opravil: po preverjanju idempotentnosti ponovite le opravila s prehodnimi napakami.