Передавайте через канал результат вместе с ошибкой и заранее определите политику: прервать всё или вернуть частичные данные. Ошибка не должна теряться в горутине.
Если один из сервисов, в который ты ходишь, вернул ошибку, что ты будешь делать и как будешь это обрабатывать при наличии канала?
Передавайте через канал результат вместе с ошибкой и заранее определите политику: прервать всё или вернуть частичные данные. Ошибка не должна теряться в горутине.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Передавайте через канал результат вместе с ошибкой и заранее определите политику: прервать всё или вернуть частичные данные. Ошибка не должна теряться в горутине.
При fail-fast отмените общий context, но всё равно обеспечьте завершение отправителей и закрытие канала его владельцем. Если основной получатель прекращает чтение раньше, отправка должна учитывать отмену, иначе горутины зависнут. Для частичного результата соберите успехи и ошибки с привязкой к сервисам. Не закрывайте общий канал из первого упавшего работника.