HTTP リクエストの自動再試行: ガイド
サーバーが一時的に利用できない場合、HTTP リクエストは自動的に再試行されません。したがって、このようなシナリオを処理するにはカスタム再試行メカニズムを実装する必要があります。
カスタム再試行メカニズム
カスタム再試行メカニズムを作成するには、次の手順に従います。
GoLang の例
次のコード スニペットは、GoLang の基本的な再試行メカニズムを示しています。
<code class="go">package main import ( "fmt" "io/ioutil" "log" "net/http" "time" ) func main() { var ( err error response *http.Response retries int = 3 backoff int = 1 // Initial wait time in seconds ) for retries > 0 { response, err = http.Get("https://some-unreliable-url") if err != nil { log.Println(err) retries -= 1 time.Sleep(time.Duration(backoff) * time.Second) backoff *= 2 // Double wait time for subsequent retries } else { break } } if response != nil { defer response.Body.Close() data, err := ioutil.ReadAll(response.Body) if err != nil { log.Fatal(err) } fmt.Printf("data = %s\n", data) } }</code>
概要
信頼性が低い可能性があるサーバーに HTTP リクエストを送信する場合、カスタム再試行メカニズムの実装が不可欠です。これにより、サーバーが一時的に利用できなくなった場合でもリクエストは確実に成功します。
以上がHTTP リクエストの自動再試行を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。