From 5536502c157dee9f4567698f4a67c6c1931fa511 Mon Sep 17 00:00:00 2001 From: Se7en Date: Mon, 10 Mar 2025 10:45:59 +0800 Subject: [PATCH] feat: allow failover to distinguish between different endpoint of the same provider (#1862) --- .../extensions/ai-proxy/provider/failover.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/plugins/wasm-go/extensions/ai-proxy/provider/failover.go b/plugins/wasm-go/extensions/ai-proxy/provider/failover.go index 9644693f5..b65eaa3ac 100644 --- a/plugins/wasm-go/extensions/ai-proxy/provider/failover.go +++ b/plugins/wasm-go/extensions/ai-proxy/provider/failover.go @@ -104,13 +104,14 @@ func (f *failover) Validate() error { func (c *ProviderConfig) initVariable() { // Set provider name as prefix to differentiate shared data provider := c.GetType() - c.failover.ctxApiTokenInUse = provider + "-apiTokenInUse" - c.failover.ctxApiTokenRequestFailureCount = provider + "-apiTokenRequestFailureCount" - c.failover.ctxApiTokenRequestSuccessCount = provider + "-apiTokenRequestSuccessCount" - c.failover.ctxApiTokens = provider + "-apiTokens" - c.failover.ctxUnavailableApiTokens = provider + "-unavailableApiTokens" - c.failover.ctxHealthCheckEndpoint = provider + "-requestHostAndPath" - c.failover.ctxVmLease = provider + "-vmLease" + id := c.GetId() + c.failover.ctxApiTokenInUse = provider + "-" + id + "-apiTokenInUse" + c.failover.ctxApiTokenRequestFailureCount = provider + "-" + id + "-apiTokenRequestFailureCount" + c.failover.ctxApiTokenRequestSuccessCount = provider + "-" + id + "-apiTokenRequestSuccessCount" + c.failover.ctxApiTokens = provider + "-" + id + "-apiTokens" + c.failover.ctxUnavailableApiTokens = provider + "-" + id + "-unavailableApiTokens" + c.failover.ctxHealthCheckEndpoint = provider + "-" + id + "-requestHostAndPath" + c.failover.ctxVmLease = provider + "-" + id + "-vmLease" } func parseConfig(json gjson.Result, config *any, log wrapper.Log) error {