Toolverse
Wszystkie skille

python-resilience

autor: wshobson

Dodaj niezawodność do Pythona — automatyczne ponawianie, timeout'y i obsługa błędów przejściowych

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Mobile
Wyświetlenia
1

O skillu

Umieść w swoim kodzie Pythona wzorce odporności na błędy: automatyczne ponawianie żądań, wykładniczy backoff, timeout'y i dekoratory odporne na awarie. Skill zawiera gotowe rozwiązania do obsługi błędów przejściowych, problemów sieciowych i chwilowych niedostępności usług. Użyj go gdy integrujesz zewnętrzne API, budujesz mikrousługi lub chcesz chronić aplikację przed czasowymi awariami zależności.

Jak używać

  1. Zainstaluj bibliotekę tenacity, która stanowi fundament tego skilla: pip install tenacity. 2. Zaimportuj niezbędne funkcje z tenacity do swojego modułu — co najmniej retry, stop_after_attempt i wait_exponential_jitter. 3. Ozdób funkcję, która wywołuje usługę zewnętrzną, dekoratorem @retry, określając maksymalną liczbę prób (np. stop_after_attempt(3)) i strategię czekania między próbami (np. wait_exponential_jitter z parametrami initial i max). 4. Opcjonalnie dodaj retry_if_exception_type, aby precyzyjnie określić, które błędy powinny być ponawiane — na przykład błędy sieciowe, a nie błędy walidacji. 5. Przetestuj funkcję symulując błędy przejściowe (timeout, tymczasowa niedostępność) i upewnij się, że retry działa zgodnie z oczekiwaniami. 6. W produkcji monitoruj logi ponowień, aby zidentyfikować usługi, które często zawodzą, i rozważ dodanie circuit breakera dla bardziej zaawansowanej obsługi awarii.

Podobne skille