Ver código fonte

fix: 当totalWeight小于等于0时设置为1选择第一个渠道

creamlike1024 4 meses atrás
pai
commit
cba21eb8c7
1 arquivos alterados com 5 adições e 0 exclusões
  1. 5 0
      model/channel_cache.go

+ 5 - 0
model/channel_cache.go

@@ -166,6 +166,11 @@ func GetRandomSatisfiedChannel(group string, model string, retry int) (*Channel,
 	}
 	// Calculate the total weight of all channels up to endIdx
 	totalWeight := sumWeight * smoothingFactor
+
+	// totalWeight 小于等于0时,设置为1,选择第一个渠道
+	if totalWeight <= 0 {
+		totalWeight = 1
+	}
 	// Generate a random value in the range [0, totalWeight)
 	randomWeight := rand.Intn(totalWeight)