|
@@ -27,6 +27,7 @@ from core.model_runtime.entities.provider_entities import (
|
|
|
from core.model_runtime.model_providers import model_provider_factory
|
|
|
from extensions import ext_hosting_provider
|
|
|
from extensions.ext_database import db
|
|
|
+from extensions.ext_redis import redis_client
|
|
|
from models.provider import (
|
|
|
LoadBalancingModelConfig,
|
|
|
Provider,
|
|
@@ -406,7 +407,15 @@ class ProviderManager:
|
|
|
:param tenant_id: workspace id
|
|
|
:return:
|
|
|
"""
|
|
|
- model_load_balancing_enabled = FeatureService.get_features(tenant_id).model_load_balancing_enabled
|
|
|
+ cache_key = f"tenant:{tenant_id}:model_load_balancing_enabled"
|
|
|
+ cache_result = redis_client.get(cache_key)
|
|
|
+ if cache_result is None:
|
|
|
+ model_load_balancing_enabled = FeatureService.get_features(tenant_id).model_load_balancing_enabled
|
|
|
+ redis_client.setex(cache_key, 120, str(model_load_balancing_enabled))
|
|
|
+ else:
|
|
|
+ cache_result = cache_result.decode('utf-8')
|
|
|
+ model_load_balancing_enabled = cache_result == 'True'
|
|
|
+
|
|
|
if not model_load_balancing_enabled:
|
|
|
return dict()
|
|
|
|