Azure Function: retry

Quante volte aprendo il monitor delle Azure Functions hai visto una serie di errori tutti uguali? Di default -se non ricordo male- ogni errore genera un totale di cinque “Error” complessivamente.

Personalmente trovo questo fatto molto sgradevole per una serie di motivi e se possibile punto ad evitarlo.

Vi state chiedendo come? Ecco svelato il mistero …

host - retry

Senza perdermi troppo in parole vi svelo subito come evitare di avere molte occorrenze dello stesso errore. Per farlo vi basterà effettuare una semplicissima modifica all’interno del file host.json presente nella vostra Azure Functions.

1
2
3
4
5
6
7
8
9
{
  "version": "2.0",
  "logging": { },
  "extensions": {  },
  "retry": {
    "strategy": "fixedDelay",
    "maxRetryCount": 1
  }
}

In fondo al file host.json avrete notato la sezione retry e proprio grazie a lei andremo a decidere il comportamento in caso di errore.

In questo caso ho impostato una strategy di tipo fixedDelay indicando un maxRetryCount pari ad 1 (il run corrente).

ATTENZIONE: Tutte le altre parti del file non necessarie al tutorial sono state svuotate volutamente. Fate attenzione a non cancellare parti fondamentali dal vostro file rischiando di compromettere il funzionamento della Azure Functions.

Motivazioni

Ti stai chiedendo come mai soffocare al primo errore l’esecuzione di una Function?

  • Analisi Log: In un conteggio degli errori perché dare peso 5 quando realmente corrisponde ad 1?
  • Comportamento del codice: Sei certo che in caso di flusso non finito i dati siano puliti per l’esecuzione successiva?

Ora -dopo questo breve tips- vi lascio divertire provandolo direttamente voi!

Happy coding!