Toolverse
Wszystkie skille

effect-patterns-error-handling-resilience

autor: PaulJPhilp

Wzorce obsługi błędów w Effect-TS z exponential backoff i retry'ami

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Backend

O skillu

Umiejętność dostarcza gotowe wzorce Effect-TS do budowania odpornych systemów obsługi błędów. Dowiesz się, jak implementować exponential backoff z jitterem, aby inteligentnie ponawiać nieudane żądania do API bez przeciążania usług. Idealna dla programistów pracujących z Effect-TS, którzy chcą zastosować best practices w obsłudze błędów i resiliency w aplikacjach produkcyjnych. Zawiera rzeczywiste przykłady kodu i wyjaśnienia strategii retry'ów na poziomie intermediate.

Jak używać

  1. Zainstaluj umiejętność w swoim projekcie Effect-TS, dodając ją do konfiguracji Claude plugin'a lub importując wzorce z repozytorium autora.

  2. Przeczytaj dokumentację wzorca Scheduling Pattern 2, który pokazuje implementację exponential backoff z jitterem – to główny wzorzec zawarty w umiejętności.

  3. Skopiuj strukturę BackoffConfig do swojego projektu, definiując parametry: baseDelayMs (opóźnienie początkowe), maxDelayMs (maksymalne opóźnienie) oraz maxRetries (liczba prób).

  4. Zaimplementuj funkcję calculateDelay, która oblicza opóźnienie dla każdej próby, stosując wzór exponential backoff (baseDelay * 2^attempt) i dodając jitter (±50%) aby uniknąć thundering herd problem.

  5. Opatrz swoją funkcję API (np. flakyApiCall) w Effect.gen i użyj Schedule z obliczonym opóźnieniem do automatycznego ponawiania żądań – Effect obsługuje retry'e niezawodnie bez ręcznych pętli.

  6. Testuj wzorzec na symulowanym API, które zawodzi kilka razy, aby sprawdzić, czy opóźnienia rosną wykładniczo i czy ostatecznie żądanie się powiedzie.

Podobne skille