Sobes.tech
Middle+

4 - gelen gelen görevleri hızlıca kabul et, 5 - istekte bulunulduğunda görevin sonucunu döndür 6 - sonuç yoksa, uygun durumu döndür /* İşlemci - uzun ve kaynak yoğun bir işlemi gerçekleştiren bir servis. Zaten uygulanmış durumda Döndürdüğü hatalar tamamen yanlış giriş verileriyle ilgilidir, kararlıdır ve tekrar istemek anlamsızdır */ type Processor interface { Process([]byte) ([]byte, error) } /* Varsayıyoruz ki, benzersiz tanımlayıcılar (örneğin UUID) üreten bir jeneratörümüz var. Jeneratör, çakışma olmayacağını garanti eder */ type ID string // func NewID() ID /* Planlayıcı, müşterilerden görevleri alır, sıraya koyar ve işlemeye başlar. Aynı anda en fazla 'threads' işlem metodunun çalışmasını sağlar Görev durumunu kontrol etme ve sonucu alma imkanı sağlar kendi genel arayüz metodlarını bloklamaz */ type Scheduler struct { processor Processor } func NewScheduler( prc Processor, threads int, ) *Scheduler { // başlangıç mantığı return &Scheduler{ processor: prc, } } func (s *Scheduler) Queue(request []byte) ID { // uygulama return "" }