Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementazione della logica di retry per Guzzle HTTP Client #39

Open
wants to merge 14 commits into
base: main
Choose a base branch
from

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