Modul 13 · API a napojení na svět

Když cizí služba selže

Internet je nespolehlivý. Jak zařídit, aby výpadek cizí služby neznamenal rozbitou aplikaci.

11 minlekce 76/107

Po lekci umíš

  • Víš, čím vším může volání selhat
  • Umíš rozhodnout, co má aplikace v takové chvíli udělat
  • Znáš rozdíl mezi kritickou a doplňkovou závislostí
Obsah lekce (4)

Volání cizí služby selže. Ne možná – jistě. Otázka je jen kdy a jak často.

Rozdíl mezi amatérskou a slušnou aplikací není v tom, že v té druhé nic neselhává. Je v tom, že v té druhé se se selháním počítá.

Čím vším to může selhat

  1. Neodpoví včas

    Nejhorší varianta. Nedostaneš chybu, jen ticho. Bez nastaveného časového limitu tvoje aplikace čeká donekonečna.

  2. Vrátí chybu

    5xx na jejich straně, 4xx na tvojí.

  3. Vrátí něco jiného, než čekáš

    Změnili tvar odpovědi, nebo je chybějící pole prázdné.

  4. Vrátí správně, ale pomalu

    Odpověď za osm vteřin je technicky úspěch a prakticky problém.

Kritická nebo doplňková?

Nejdůležitější rozhodnutí. Zeptej se: může aplikace fungovat dál, když tahle služba nefunguje?

Kritická

  • Platební brána u placení.
  • Databáze.
  • Přihlašování.
  • Bez ní akce nemá smysl – řekni to uživateli srozumitelně a nabídni, co dál.

Doplňková

  • Mapa u adresy.
  • Doporučení a statistiky.
  • Potvrzovací e-mail.
  • Bez ní jde pokračovat – zbytek stránky musí fungovat.

Co udělat s neúspěchem

  1. Zkus znovu, když to má smysl

    Výpadek a limit ano. Špatná data ne.

  2. Nabídni náhradní obsah

    Poslední známá hodnota, jednodušší verze, prosté sdělení „momentálně nedostupné“.

  3. Odlož to na později

    U věcí, které nemusí být hned – e-mail, synchronizace, zápis do externího systému. Ulož požadavek a zpracuj ho, až to půjde.

  4. Řekni to uživateli lidsky

    Ne „Error 503“. Ale „Platbu se teď nedaří zpracovat. Zkus to prosím za chvíli, z účtu nic nebylo strženo.“

Prompt pro Claude Code

Ošetři výpadek závislosti

U každé cizí služby, na kterou se aplikace napojuje.

Aplikace používá [SLUŽBA] na [ÚČEL].

Projdi se mnou, co se má stát, když nefunguje:

1. Je tahle závislost kritická, nebo doplňková?
2. Co konkrétně uvidí uživatel, když volání selže?
 Napiš mi ten text česky.
3. Má se to zkoušet znovu? Kolikrát a s jakou prodlevou?
4. Dá se to odložit na později místo okamžitého selhání?
5. Je nastavený časový limit? Jaký?

Pak to podle toho uprav a ukaž mi, co se změnilo.

Vyzkoušej si to

Ošetření, které jsi nikdy nevyzkoušel, nemáš.

Prompt pro Claude Code

Nasimuluj výpadek

Ověření, že ošetření chyb funguje.

Chci si vyzkoušet, jak se aplikace chová, když [SLUŽBA] nefunguje.

Navrhni mi, jak to nasimulovat lokálně – dočasně vrátit chybu,
nastavit neplatný klíč nebo přerušit spojení.

Pak mi napiš seznam situací k proklikání a co má v každé nastat.
Změnu, kterou kvůli tomu uděláš, mi ukaž, ať ji potom umím vrátit.
Cvičení25 minut

Vyber si ve své aplikaci jednu cizí službu a nasimuluj její výpadek – nejjednodušeji tak, že dočasně změníš klíč na nesmysl.

Proklikej aplikaci. Zapiš si, co se stalo, a oprav všechno, co ti nepřipadá v pořádku.

Co si odnést

  • Cizí volání selže vždycky, otázka je jen kdy. Vždy nastav časový limit.
  • Rozliš kritickou a doplňkovou závislost. Doplňková nesmí strhnout stránku.
  • Možnosti: zkusit znovu, náhradní obsah, odložit, nebo srozumitelně říct.
  • Tiché selhání je horší než chyba. Zachycená chyba musí být vidět.
  • Ošetření, které jsi nevyzkoušel, nemáš.

Máš to za sebou?

Označ lekci jako hotovou, ať víš, kde jsi skončil. Nic se tím neuzamkne.

Obsah aktualizován: 21. srpna 2026