Skip to content

Implementazione della logica di retry per Guzzle HTTP Client#39

Open
SamuPert wants to merge 14 commits intoOpenAccess-Italia:mainfrom
SamuPert:main
Open

Implementazione della logica di retry per Guzzle HTTP Client#39
SamuPert wants to merge 14 commits intoOpenAccess-Italia:mainfrom
SamuPert:main

Conversation

@SamuPert
Copy link

@SamuPert SamuPert commented May 23, 2024

Ho creato una nuova classe wrapper per il Guzzle HTTP Client che implementa logiche di retry per gestire i fallimenti delle richieste HTTP. La classe consente di personalizzare, passando gli opportuni parametri in fase di creazione del client HTTP, il numero di tentativi, il tempo di attesa tra i tentativi e il timeout della richiesta.

Funzionalità Principali

  • Numero di tentativi: È possibile specificare il numero massimo di tentativi per la richiesta HTTP.
  • Tempo di Attesa tra i tentativi: È possibile definire un intervallo di tempo (in millisecondi) da attendere tra un tentativo e l'altro.
  • Timeout della richiesta: È possibile impostare un timeout (in millisecondi) per ciascuna richiesta HTTP.

Parametri di default

  • Numero di tentativi: 20
  • Tempo di attesa tra i tentativi: 2000ms
  • Timeout della richiesta: 20000ms

Codice di esempio

Creazione client con parametri predefiniti

$client = new \App\Http\HttpClient();

Creazione client con parametri personalizzati

$client = new \App\Http\HttpClient([
  'maxRetries' => 10,
  'retryDelay' => 1000,
  'timeout' => 10
]);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant