package scans import ( "strings" ) // isStoreCapacityOrConnExhausted — ошибки, при которых дальнейший проход скана в БД бессмысленен (слоты Postgres, пул и т.п.). func isStoreCapacityOrConnExhausted(err error) bool { if err == nil { return false } msg := strings.ToLower(err.Error()) return strings.Contains(msg, "53300") || strings.Contains(msg, "too many clients") || strings.Contains(msg, "remaining connection slots") || strings.Contains(msg, "connection slots are reserved") || strings.Contains(msg, "sql: connection is closed") || strings.Contains(msg, "broken pipe") || strings.Contains(msg, "connection reset by peer") }