| from core.model_runtime.model_providers import model_provider_factory | from core.model_runtime.model_providers import model_provider_factory | ||||
| from extensions import ext_hosting_provider | from extensions import ext_hosting_provider | ||||
| from extensions.ext_database import db | from extensions.ext_database import db | ||||
| from extensions.ext_redis import redis_client | |||||
| from models.provider import ( | from models.provider import ( | ||||
| LoadBalancingModelConfig, | LoadBalancingModelConfig, | ||||
| Provider, | Provider, | ||||
| :param tenant_id: workspace id | :param tenant_id: workspace id | ||||
| :return: | :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: | if not model_load_balancing_enabled: | ||||
| return dict() | return dict() | ||||