diff --git a/apps/common/config/embedding_config.py b/apps/common/config/embedding_config.py index d360221c08f..9f8a2f65a49 100644 --- a/apps/common/config/embedding_config.py +++ b/apps/common/config/embedding_config.py @@ -23,18 +23,18 @@ def get_model(_id, get_model): model_instance = ModelManage.cache.get(_id) if model_instance is None: with _lock: - model_instance = get_model(_id) - ModelManage.cache.set(_id, model_instance, timeout=60 * 60 * 8) - ModelManage.clear_timeout_cache() - return model_instance + model_instance = ModelManage.cache.get(_id) + if model_instance is None: + model_instance = get_model(_id) + ModelManage.cache.set(_id, model_instance, timeout=60 * 60 * 8) else: if model_instance.is_cache_model(): ModelManage.cache.touch(_id, timeout=60 * 60 * 8) - return model_instance else: model_instance = get_model(_id) ModelManage.cache.set(_id, model_instance, timeout=60 * 60 * 8) - return model_instance + ModelManage.clear_timeout_cache() + return model_instance @staticmethod def clear_timeout_cache():