Kas üks gorutin saab otse kirjutada teise gorutina kaudu pufferkanalil?
Golang
Kas teil on mulle küsimusi?
Mida ütleb Go konventsioon WaitGroupi ja tagastatüüpide kohta (võttes vastu liideseid, tagastades konkreetseid tüüpe)?
// Klient edastab objekti (Task) koos andmetega ülesande täitmiseks, // meie näites kasutame tühja struktuuri. // // Juht võib töödelda mitte rohkem kui N ülesannet korraga, // ja mitte rohkem kui X ülesannet võib olla järjekorras. // Kui järjekorras pole kohta, tagastame kohe vea kliendile. // // Ülesanne võetakse töötlusse, kui on vabad töötlejad. // Simuleerime töö kestust, kasutades time.Sleep(5*time.Second). // Kui üks ülesanne lõpeb, võtame järgmise järjekorrast. // Kui järjekord on tühi, ootame uusi ülesandeid klientidelt. // // Tärniga: täiendage Task struktuuri ja saage ülesannete staatuseid eraldi päringuga. package scheduler type Scheduler interface { AddTask(t Task) error Close() } type scheduler struct { queue chan Task wg sync.WaitGroup } func New(workers, queue int) Scheduler { // oodatakse rakendamist } type Task interface { Do() }
Millist tehnoloogiat/riista kasutad?
Milliseid indeksi tüüpe PostgreSQL-is, välja arvatud B-tree, olete kasutanud?
Mis oli sinu roll otsinguteenuse arendamisel arhitektuuriliste otsuste tegemisel?
Kuidas saaksime väliselt töödelda ülesannetes toimuvaid vigu, kui sooviksime seda teha?
Kas kasutas CTE? Rääkige, mis see on.
Kas praktikas jooksul oled kontekste kasutanud? Räägi.
func New(workers, queue, int) Scheduler { s := &scheduler { queue := make(chan Task, queue) for i := 0; i < workers; i++ { wg.Add(1) go func() { defer wg.Done() for task := range s.queue { task.Do() } }() } } return s } func (s *scheduler) Close() { close(s.queue) s.wg.Wait() } type Task interface { Do() }
Kas veel andmevõistlusi rakenduses? Täpsemalt Keys meetodis, mis tagastab võtmete viilu?
Kas on võimalik luua indeks ainult replika peal, mitte peamises?
Kas soovite kirjutada klassikalist worker pooli?
Mis vahe on SELECT FOR UPDATE ja SELECT FOR SHARE vahel?
Replikatsiooni tüübid PostgreSQL
Kas teil on kogemusi Kubernetes operaatorite kirjutamisel, operaatorite haldamisel, Helm Chart kasutamisel?
Kas töö on lubatud ainult Venemaa Föderatsiooni territooriumil?
Kas kasutas akna funktsioone?
Milleks kasutatakse kõige sagedamini Consul'i mikroteenuste arhitektuuris?