Bufferli kanal ilə bir goroutine digərinə birbaşa yaza bilərmi?
Golang
Siz kanalın ortaya çıxması və ya nəsə üçün goroutine yazmağa qərar verdiyiniz üçün WaitGroup yazmağa qərar verdinizmi?
Go konvensiyası WaitGroup və geri qaytarılan tiplər (interfeysləri qəbul edir, müəyyən tipləri geri qaytarır) haqqında nə deyir?
Mənim üçün suallarınız varmı?
Hansı texnologiya/alət istifadə edirsiniz?
// Müştəri, yerinə yetirmək üçün məlumatlar ilə birlikdə (Task) obyektini ötürür, // nümunəmizdə boş bir struktur istifadə edəcəyik. // // Planlayıcı maksimum N vəzifəni eyni zamanda işləyə bilər, // və X vəzifə işləmə üçün növbədə ola bilər. // Əgər növbədə yer yoxdursa, dərhal müştəriyə xəta qaytarılır. // // Vəzifə, sərbəst emalçılar mövcuddursa, qəbul edilir. // İşləmə müddətini time.Sleep(5*time.Second) ilə simulyasiya edirik. // Hər vəzifə tamamlandıqda, növbəti vəzifəni növbədən alırıq. // Əgər növbə boşdursa, yeni vəzifələr üçün gözləyirik. // // Ulduz işarəsi ilə: Task strukturunu genişləndirin və vəzifələrin statuslarını ayrıca sorğu ilə alın. 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 { // gözlənilir implementasiya } type Task interface { Do() }
PostgreSQL-də B-tree-dən başqa hansı indeks növləri istifadə olunub?
Axtarış xidməti inkişafı zamanı memarlıq qərarlarının qəbulunda sizin rolunuz nə idi?
Əgər biz xaricdən baş verən səhvləri işləmək istəyiriksə, bunu necə edə bilərik?
CTE-dən istifadə etmisinizmi? Bu nədir, izah edin.
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() }
Praktikada kontekstlərdən istifadə etmisinizmi? Mənə danış.
İcraatda hələ də məlumat yarışları varmı? Xüsusən də açarları geri qaytaran Keys metodunda?
Yalnızca replikada indeks yaratmaq mümkündürmü, masterda yox?
Klassik işçi hovuzu yazmaq istəyirsinizmi?
SELECT FOR UPDATE və SELECT FOR SHARE arasındakı fərq nədir?
İş yalnızca Rusiya Federasiyasının ərazisində icazə verilirmi?
PostgreSQL-də replikasiya növləri
Kubernetes operatorlarının yazılması, operatorların idarə olunması, Helm Chart ilə təcrübəniz varmı?
Pəncərə funksiyalarını istifadə etdinizmi?