я велосипед, или это все таки правильная история и ее можно как шаблон использовать? просто я не помню, существует ли пакет, который управляет джобами в таком формате через контекст
Контекст передаётся внутрь пула, а потом обратно поднимается в каждый воркер
Ну да, в этом же и смысл
https://pkg.go.dev/github.com/gammazero/workerpool#WorkerPool.Submit
а зачем добавлять таски извне
Нет, проблема вот в чем: Текущая система устроена так, что инициализация разбита по нескольким файлам (очень сложная вышла из-за комплексности приложения). Раньше в отдельные обработчики вообще сам по себе workgroup с контекстом отдавался, что бы воркер сам сказал когда он закончился, что дикость. Мне показалось, правильней сделать/найти штуку, в которую в одном пакете из разных мест (не пакетов, а именно мест) можно запихать кучку воркеров, а потом в main-e или чем-то подобном дать этой штуке запустить одновременно все воркеры и дождаться пока они все доделаются. Ну либо внешнюю отмену дождаться
Обсуждают сегодня