доменные ошибки сравниваются через errors.As, отказ Close не теряется
- признаки «работы нет» и «задача не найдена» узнаются по смыслу, а не приведением типа: обёртка `%w` на пути больше не превращает пустой прогон воркера в отказ раз в секунду - отказ закрытия соединения с распознавателем доходит до вызывающего (`errors.Join`) либо до журнала; у `errcheck` включён `check-blank`, иначе критерий принимал реализацию, выбрасывающую отказ в пустоту - заведены первые тесты пакета worker и capability `pipeline`; долг из четырёх замечаний линтера закрыт, гейт зелёный целиком
This commit is contained in:
@@ -121,7 +121,15 @@ func main() {
|
||||
logger.Error("failed to create audio recognizer", "error", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
defer recognizer.Close()
|
||||
// Отдавать отказ закрытия некому — процесс заканчивается, — поэтому он идёт
|
||||
// в журнал владельца. Что он означает: gRPC-клиент отдаёт здесь отказ лишь
|
||||
// при повторном закрытии, то есть запись говорит о нашей ошибке, а не о
|
||||
// недоступности Yandex.
|
||||
defer func() {
|
||||
if err := recognizer.Close(); err != nil {
|
||||
logger.Error("failed to close audio recognizer", "error", err)
|
||||
}
|
||||
}()
|
||||
|
||||
// Создаем сервисы
|
||||
transcribeService := service.NewTranscribeService(
|
||||
|
||||
Reference in New Issue
Block a user