Lagra den tidsavbrotne innsendinga arbeidet ditt?
Ein nettlesarfeil provar at svaret aldri kom fram, ikkje at skrivinga mislukkast. Lagra teksten, finn resultatet i appen, og avgjer deretter om eit nytt forsøk er trygt.
Knappen spinn, fanen viser ein feil, og skjemaet du brukte ti minutt på å fylla ut er borte. Det du ikkje veit, er om skrivinga nådde fram før sambandet døydde. Å handsame det ukjende som ein feil er måten doble kommentarar, doble bestillingar og gjentekne støttehenvendingar oppstår på.
Gjenopprett i fast rekkjefølgje: hald på teksten, finn resultatet, og avgjer først då om ei andre innsending er tillaten.
Start med teksten og tidsstempelet
Kopier innhaldet ut av sida før du rører noko anna, òg utkastet nettlesaren framleis held i feltet. Skriv ned klokkeslettet, sida du var på og handlinga du utførte, fordi nettopp desse tre detaljane gjer resten av granskinga mogleg. Viss fanen framleis er open, lat han stå open til du har lese nettverksoppføringa. Å lagra teksten kostar ingenting, og å mista han kostar heile oppgåva.
Skil så dei to feilformene du faktisk kan observere. Ein samband som fall midt i førespurnaden og ein tenar som svara med ein feil ser ulike ut i nettverkspanelet, og berre den andre seier noko om avgjerda til applikasjonen.
Sjå etter resultatet i appen si eiga vising
Last inn lesevisinga som ville vise resultatet på nytt: kommentarlista, ordrehistoria, sakskøen eller posten du redigerte. Samanlikn på konto, mål, tid og innhald i staden for på den nyaste oppføringa, fordi nokon andre kan ha skrive etter deg. For ein bakgrunnsjobb, slå opp den eksisterande referansen og statusen hans i staden for å opprette ein ny operasjon som sambandstest.
Viss resultatet er der, er du ferdig, og feilen høyrer til svarvegen og ikkje skrivinga. Viss det ikkje er der, hald moglegheita open for at applikasjonen enno ikkje har festa det: ein jobb i kø, ei forseinka lesevising eller ein replika som heng etter kan skjule ei vellukka skriving ei stund.
Gje det eit definert andre blikk før du dreg ein konklusjon, og noter tidspunktet for båe kontrollane. To kontrollar med tjue sekunds mellomrom er mykje svakare bevis enn to kontrollar med ti minutts mellomrom.
Avgjer om ei andre innsending er trygg
Svaret avheng av operasjonen, ikkje av tolmodet ditt. HTTP skil metodar som kan gjerast om att med same tiltenkte effekt frå dei som ikkje kan, og frårår automatiske gjentakingar av den andre typen med mindre semantikken er kjend for å tillate det. Å opprette ein kommentar, leggje inn ei bestilling og sende ei betaling høyrer vanlegvis til den andre gruppa, og derfor seier eit andre vellukka utsjåande klikk ingenting om det første.
Viss du vedlikeheld klienten, bruk retry- eller idempotensmekanismen som API-et dokumenterer, og knyt han til den same logiske operasjonen i staden for å generere ein ny nøkkel for kvart forsøk. Ein førespurnadsidentifikator brukt til sporing er ikkje ein nøkkel for å undertrykkje duplikat med mindre tenaren handsamar han som det.
curl -i -X POST https://api.example.net/v1/orders \
-H "Idempotency-Key: 6f1c2a94-3b7e-4a10-9c22-5d0e8f7b1a63" \
-H "Content-Type: application/json" \
--data @order.jsonNøkkelen hjelper berre viss tenesta lagrar han mot operasjonen og returnerer det opphavlege resultatet ved ei gjentaking. Test den åtferda på eit staging-endepunkt før du stolar på han i produksjon.
Sikra bevis før du trykkjer på noko att
Hald på nettverksoppføringa i staden for eit skjermbilete av feilen. Førespurnadsmetoden, URL-en, svaret eller tidsavbrotet og tidspunktet det skjedde på er det ein administrator kan korrelere med registreringane til applikasjonen. Eksporter eller kopier oppføringa som ein kommando berre viss du deretter fjernar informasjonskapslar, autorisasjonshovud og alt privat innhald frå kopien. Lat di eiga økt vere intakt, og spel aldri av ein fanga førespurnad med påloggingsdata som ein snøggveg.
Spør tenesteeigaren eitt konkret spørsmål: lukkast operasjonen med dette innhaldet på dette tidspunktet, og finst det ein referanse for han? Det spørsmålet har eit svar, medan "gjekk sida i stykke" ikkje har det.
Poenget med øvinga er å fastslå at handlinga skjedde nøyaktig éin gong. Ei feilmelding du kan lukke er ikkje det same som ei registrering du kan stole på, og den andre er det du treng før du sender inn noko anna.