Считаем, что у нас есть генератор уникальных идентификаторов (например, UUID). Генератор гарантирует, что коллизий не бу
Условие
Заголовок раздела «Условие»Считаем, что у нас есть генератор уникальных идентификаторов (например, UUID). Генератор гарантирует, что коллизий не будет.
type ID string
// func NewID() IDШедулер принимает от клиентов задачи, ставит в очередь и запускает в процессинг:
- обеспечивает, что единовременно запущено не более threads методов process;
- дает возможность проверить статус задачи и получить результат;
- не блокирует методы своего публичного интерфейса на процессинг.
type Scheduler struct { processor Processor}
func NewScheduler( prc Processor, threads int,) Scheduler { // todo initialization logic return Scheduler{ processor: prc, }}
func (s *Scheduler) Queue(request []byte) ID { // todo implement return ""}
func (s *Scheduler) Status(id ID) (status string, result []byte, err error) { // todo implement return}Решение
Заголовок раздела «Решение»Источник: Yandex / Яндекс (Processor/Scheduler) · 1 кв 2026
← Процессор - сервис, который выполняет д… · Все задачи · Go · Дан непустой массив из нулей и единиц.… →