0.167.32
Fixed
- Таймаут на чтение настроек в фоновых циклах Consolidator/Dream (A-018 — P2).
loadIntervalобоих сервисов (internal/memory/consolidator_service.go,dream_service.go) вызывалstore.GetSetting(context.Background(), …)без bound: на здоровой SQLite/Postgres это миллисекунды, но при зависшем БД-хендле вызов висел неограниченно прямо подrunLoop, блокируя следующий тик. Теперь чтение идёт черезcontext.WithTimeout(Background, settingsQueryTimeout)(5с; package var для укорачивания в тестах) — по таймауту сервис получает ошибку и использует дефолтный интервал (240м/120м), цикл продолжает жить. Тот же паттерн исправлен во втором месте с идентичной конструкцией (dream_service.go), не покрытом аудитом. Тесты:blockingSettingStore, висящий на GetSetting доctx.Done(), для обоих сервисов — loadInterval возвращается по таймауту с дефолтом (guard от вечного зависания через горутину+select), и стор наблюдает отмену контекста; существующие позитивные/дефолтные кейсы интервалов не изменились.