Passa al contenuto principale

Gestione degli errori e dei tentativi successivi

Caso: la sincronizzazione notturna non deve perdere dati se E-CUBE è momentaneamente irraggiungibile, e non deve ripetere all'infinito un blocco errato.

Classificazione​

RispostaTipoAzione
401TokenNuovo token, poi un solo nuovo tentativo
403DefinitivoControlla nome della risorsa e permessi
408, 429, 5xx, timeout, errore di reteTemporaneoRipeti con attesa crescente
Altri 4xxDefinitivoNon ripetere: correggi i dati e registra il corpo della risposta

Attesa crescente​

tentativo 1 → attesa 2 s → tentativo 2 → attesa 4 s → tentativo 3 → attesa 8 s → errore

Aggiungi una componente casuale (jitter) e un numero massimo di tentativi.

Scritture a blocchi​

  • Ferma il passo al primo blocco rifiutato e registra numero del blocco, record coinvolti e corpo della risposta.
  • Ripeti un blocco solo per errori temporanei.
  • Se un blocco viene rifiutato per i dati, dividilo per isolare il record errato.

Codice​

La classe EcubeClient implementa il rinnovo del token su 401 e il retry con attesa crescente sugli errori temporanei. La versione JavaScript fa lo stesso.