worker-pool поддерживает следующие операции:
- AddWorker() error - добавление воркера (возвращает ошибку, если превышено максимальное количество воркеров, каждому воркеру при создании присваивается uuid)
- DeleteWorker() error - удаление воркера (возвращает ошибку, если в пуле нет воркеров)
- Submit(r io.Reader) error - добавление задачи в пул (nil используется для удаления воркеров, поэтому nil отправить нельзя)
- Free() - освобождение пула, удаление всех воркеров (после освобождения пул можно использовать заново)
- Wait() - ожидание завершения задач в пуле