Go mentorПрактика / Конкурентность
СИМУЛЯЦИЯВ бету ↗

Это демонстрация учебного сценария. Проверки заранее заданы. Go-код не исполняется, AI и Colony не подключены.

КОНКУРЕНТНОСТЬ / ЗАДАЧА 01

Один баг.
Один новый навык.

Разбираемся, почему отмена не всегда означает завершение.

Знакомство с задачей
ТВОЯ ЗАДАЧАSenior-практика

Конкурентный HTTP-агрегатор

100 заданий, не более 10 одновременно. Результаты должны сохранять исходный порядок, а частичная ошибка — не останавливать остальные операции.

≤ 10 workersПорядок результатовcontext.Context

В демо изучаем только один фрагмент: отправку результата в канал, когда потребитель уже завершился.

GO worker.go / учебный фрагмент
Исходная версияREAD ONLY
Полный агрегатор намеренно не показан.Go

Результат сценария

FIXTURE

Сначала посмотри, где исходное решение может зависнуть.

Это заданные результаты учебного примера, а не вывод Go runner. По ним нельзя подтвердить навык реального ученика.

НОВОЕ УСЛОВИЕ / ПЕРЕНОС ПОНИМАНИЯ

Потребитель ушёл.
Что делать отправителю?

После разбора правки

В новом пайплайне нет HTTP. Есть producer и consumer. Consumer больше не читает канал, а контекст уже отменён. Как отправителю не остаться заблокированным?

Выбери обоснованное решение

Один вопрос проверяет понимание идеи, но не владение Go на практике.

ТОЛЬКО ЭТОТ БРАУЗЕР

Начать заново?

Удалится локальная история учебного демо. Никакие внешние данные не затрагиваются.