Sobes.tech
Middle+

4 - daxil olan tapşırıqları tez qəbul et, 5 - sorğu əsasında tapşırığın nəticəsini qaytar 6 - nəticə yoxdursa, müvafiq statusu qaytar /* Prosesör - uzunmüddətli və resurs tələb edən əməliyyatı yerinə yetirən xidmət. Artıq həyata keçirilib Qaytardığı səhvlər yalnız düzgün olmayan giriş məlumatları ilə əlaqədardır, stabildir və onları yenidən sorğulamaq mənasızdır */ type Processor interface { Process([]byte) ([]byte, error) } /* Biz unikal identifikatorlar (məsələn, UUID) generatorumuz olduğunu qəbul edirik. Generator, toqquşma olmayacağını təmin edir */ type ID string // func NewID() ID /* Planlayıcı müştərilərdən tapşırıqları qəbul edir, onları növbəyə qoyur və emalını başlatır. Eyni zamanda 'threads' metodunun daha çoxu eyni vaxtda işləməməsini təmin edir Tapşırığın vəziyyətini yoxlamağa və nəticəni almağa imkan verir özünün ictimai interfeys metodlarını bloklamır */ type Scheduler struct { processor Processor } func NewScheduler( prc Processor, threads int, ) *Scheduler { // başlanğıc məntiqi return &Scheduler{ processor: prc, } } func (s *Scheduler) Queue(request []byte) ID { // tətbiq et return "" }