cicora.ai
Specyfikacja APIPraca asynchroniczna

Przetwarzanie wsadowe

Przetwarzaj niezależne operacje w kontrolowanych grupach, gdy proces pozwala na dostarczanie asynchroniczne.

Materiały dotyczące integracji: wybierz parametry i dostępne funkcje w ustawieniach API konta oraz w katalogu modeli dla swojego środowiska.

Ogranicz równoległość

Użyj kolejki po stronie klienta z ograniczoną równoległością i wysyłaj każde zadanie za pomocą zwykłego zgodnego żądania. Pozwala to kontrolować obciążenie bez zakładania istnienia serwerowego punktu końcowego do przetwarzania wsadowego.

Tryb przetwarzania wsadowego usługi jest odrębnym kontraktem API: używaj jego ścieżki i treści dopiero po ich opublikowaniu w ustawieniach konta lub specyfikacji.

Ograniczona równoległość kontrolowana przez klienta
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;
}

Kontroluj kolejkę

  • Utwórz wewnętrzny identyfikator zadania w sposób deterministyczny i unikatowy w obrębie jednego uruchomienia.
  • Podziel zbyt duży zbiór na grupy o rozsądnym rozmiarze.
  • Rozróżniaj niepowodzenie jednego elementu od niepowodzenia całej kolejki.

Zbierz wyniki

Powiąż wynik z identyfikatorem wewnętrznym i zachowaj status każdego zadania.

Nie ponawiaj automatycznie wszystkich zadań: po sprawdzeniu idempotencji ponawiaj wyłącznie błędy przejściowe.