Sobes.tech
Senior

Təcrübənizdən vurğulamaq istədiyiniz ən böyük və ya ən çətin vəzifə olubmu?

sobes.tech Süni İntellekt

AI-dan cavab

Yüksək yüklü paylanmış xidməti Go dilində inkişaf etdirmək üçün ən çətin tapşırıqlardan biri idi; bu xidmət gündə milyonlarla sorğunu minimal gecikmə ilə işləyirdi. Layihə çərçivəsində, goroutine-lərin səmərəli idarə olunması, verilənlər bazası ilə işləmənin optimallaşdırılması və sistemin qəza davamlılığının təmin edilməsi lazım idi.

Kontekst istifadə edərək goroutine-ləri idarə etmək üçün nümunə kod:

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

ch := make(chan string)
go func() {
    // işin simulyasiyası
    time.Sleep(2 * time.Second)
    ch <- "nəticə"
}()

select {
case res := <-ch:
    fmt.Println("Alınan nəticə:", res)
case <-ctx.Done():
    fmt.Println("Gözləmə vaxtı bitdi")
}