Adakah Permintaan HTTP Cuba Semula Secara Automatik pada Gangguan Pelayan?

Mary-Kate Olsen
Lepaskan: 2024-10-31 03:55:30
asal
217 orang telah melayarinya

Do HTTP Requests Automatically Retry on Server Outages?

Mekanisme Mencuba Semula Permintaan HTTP

S: Saya cuba menolak data ke pelayan Apache menggunakan Go. Jika pelayan Apache mengalami penutupan sementara, adakah permintaan HTTP saya akan cuba semula secara automatik?

J: Tidak, permintaan HTTP tidak semestinya mencuba semula apabila pelayan terputus.

Logik Cuba Semula Tersuai

Untuk melaksanakan percubaan semula automatik, anda perlu mencipta mekanisme percubaan semula anda sendiri. Pelaksanaan asas tersedia di pautan berikut:

[Go Retry Function Contoh](https://play.golang.org/p/_o5AgePDEXq)

<code class="go">package main

import (
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
)

func main() {
    var (
        err      error
        response *http.Response
        retries  int = 3
    )
    for retries > 0 {
        response, err = http.Get("https://non-existent")
        if err != nil {
            log.Println(err)
            retries -= 1
        } 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>
Salin selepas log masuk

Dalam contoh ini, mekanisme cuba semula tersuai dilaksanakan menggunakan gelung yang mencuba permintaan HTTP beberapa kali sebelum gagal. Anda boleh melaraskan bilangan percubaan semula dan logik untuk menentukan sama ada untuk mencuba semula berdasarkan keperluan khusus aplikasi anda.

Atas ialah kandungan terperinci Adakah Permintaan HTTP Cuba Semula Secara Automatik pada Gangguan Pelayan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!