Sobes.tech
Junior — Middle

Əməliyyatların icra müddətini məhdudlaşdırmaq üçün Context.WithTimeout metodundan istifadə etdinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Bəli, Go dilində context.WithTimeout metodu tez-tez şəbəkə sorğuları, verilənlər bazaları və ya digər uzunmüddətli proseslərlə işləyərkən əməliyyatların icra müddətini məhdudlaşdırmaq üçün istifadə olunur.

O, müəyyən edilmiş vaxt keçdikdən sonra avtomatik olaraq ləğv olunan yeni kontekst yaradır, bu da donma hallarını qarşısını almağa və vaxt limitlərini idarə etməyə kömək edir.

İstifadə nümunəsi:

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

err := doSomething(ctx)
if err != nil {
    if errors.Is(err, context.DeadlineExceeded) {
        fmt.Println("Əməliyyat vaxt limitini keçdi")
    } else {
        fmt.Println("İcra xətası:", err)
    }
}

Bu nümunədə, doSomething funksiyası konteksti dəstəkləməli və vaxt bitdikdə işini dayandırmalıdır.