Sobes.tech
Junior — Middle

Milyen módszerek alkalmazhatók az 500-as hiba megelőzésére, ha az adatbázis válaszideje lejár?

sobes.tech MI

Válasz az MI-től

A Go-ban az adatbázisból való válasz várakozási idő túllépése miatti 500-as hiba elkerülése érdekében több megközelítés is alkalmazható:

  1. Időkorlátos kontextus — használja a context.WithTimeout-ot az adatbázis lekérdezés végrehajtási idejének korlátozására.

  2. Kapcsolat medence — helyesen konfigurálja a kapcsolat medencét, hogy elkerülje a blokkolásokat és késéseket.

  3. Hibakezelés — helyesen kezelje az időkorlát hibákat, és adjon érthető választ az ügyfélnek.

Példa időkorlátos kontextus használatára:

ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()

err := db.QueryRowContext(ctx, "SELECT ...").Scan(&result)
if err != nil {
    if errors.Is(err, context.DeadlineExceeded) {
        // időkorlát kezelése
    } else {
        // más hiba
    }
}

Ez a megközelítés segít elkerülni a blokkolásokat és ellenőrizni a válasz várakozási idejét az adatbázistól.