cicora.ai
API specifikacijaAsinchroninis darbas

Paketinis vykdymas

Kai darbo eiga leidžia asinchroninį pateikimą, nepriklausomas operacijas vykdykite valdomomis grupėmis.

Integracijų žinynas: savo paskyros API nustatymuose ir jūsų aplinkos modelių kataloge pasirinkite parametrus bei galimas funkcijas.

Ribotas lygiagretumas

Naudokite riboto dydžio kliento pusės eilę ir kiekvieną užduotį siųskite įprasta suderinama užklausa. Taip valdysite apkrovą nedarydami prielaidos, kad serveryje yra paketinio apdorojimo galinis taškas.

Paslaugos paketinis režimas yra atskira API sutartis: jo maršrutą ir turinį naudokite tik juos paskelbus paskyros nustatymuose arba specifikacijoje.

Kliento valdomas ribotas lygiagretumas
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;
}

Valdykite eilę

  • Vidinį užduoties ID padarykite deterministinį ir unikalų vieno vykdymo ribose.
  • Per didelį rinkinį suskaidykite į lengvai valdomas grupes.
  • Vieno elemento klaidą atskirkite nuo visos eilės klaidos.

Surinkite rezultatus

Susiekite rezultatą su vidiniu identifikatoriumi ir išsaugokite kiekvienos užduoties būseną.

Nekartokite automatiškai visų užduočių: patikrinę idempotentiškumą kartokite tik tas, kurios nepavyko dėl laikinos priežasties.