Bir kanal ortaya çıktığı için mi yoksa bir şeyler için goroutine yazmaya karar verdiğin için mi WaitGroup yazmaya karar verdin?
Golang
// Müşteri, görevi yerine getirmek için verilerle birlikte bir nesne (Task) iletir, // örneğimizde boş bir yapı kullanacağız. // // Yöneticimiz en fazla N görevi aynı anda işleyebilir, // ve en fazla X görev işlem kuyruğunda olabilir. // Kuyrukta yer yoksa, hemen müşteriye hata döner. // // Görev, uygun işlemci varsa alınır. // İşlem süresini time.Sleep(5*time.Second) ile simüle ediyoruz. // Her görev tamamlandığında, sıradaki görevi alıyoruz. // Kuyruk boşsa, müşterilerden yeni görevler beklenir. // // Yıldız işaretiyle: Task yapısını genişletin ve görevlerin durumlarını ayrı bir sorgu ile 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 { // uygulanması bekleniyor } type Task interface { Do() }
Go konvansiyonu, WaitGroup kullanımı ve dönüşüm türleri (arayüzleri kabul etme, belirli türleri döndürme) hakkında ne söylüyor?
PostgreSQL'de B-tree dışında hangi indeks türleri kullanıldı?
Hangi teknolojiyi/aracı kullanıyorsun?
İşlemlerde meydana gelen hataları dışarıdan nasıl işleyebiliriz, eğer yapmak istersek?
Arama hizmeti geliştirme sırasında mimari kararların alınmasında senin rolün neydi?
CTE kullandınız mı? Bu nedir anlat.
Pratikte bağlamları kullandın mı? Anlat.
Yalnızca replik üzerinde, ama ana üzerinde indeks oluşturmak mümkün mü?
Uygulamada hâlâ veri yarışmaları var mı? Özellikle anahtarları döndüren Keys metodunda mı?
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() }
PostgreSQL'de replikasyon türleri
Klasik bir işçi havuzu yazmak istiyor musun?
SELECT FOR UPDATE ile SELECT FOR SHARE arasındaki fark nedir?
İş sadece Rusya Federasyonu sınırları içinde mi izin veriliyor?
Pencere fonksiyonlarını kullandınız mı?
Kubernetes operatörleri yazma, operatörleri yönetme, Helm Chart konusunda deneyiminiz var mı?
Neden veritabanında saklamak yerine Redis kullanmadınız?
ELK'te hangi belgeler saklanıyordu?