@@ -1780,12 +1780,20 @@ class ModelConfigViewSet(ReadOnlyModelViewSet):
|
||||
)
|
||||
cache_key = MODEL_CATALOG_CACHE_KEY if page_size in {"", "200"} else f"{MODEL_CATALOG_CACHE_KEY}:{page_size}"
|
||||
if is_plain:
|
||||
cached = cache.get(cache_key)
|
||||
# 模型目录缓存只是加速层;开发机或 Redis 短暂不可用时仍应正常返回目录。
|
||||
try:
|
||||
cached = cache.get(cache_key)
|
||||
except Exception:
|
||||
logger.warning("模型目录缓存不可用,改为直接读取", exc_info=True)
|
||||
cached = None
|
||||
if cached is not None:
|
||||
return Response(cached)
|
||||
response = super().list(request, *args, **kwargs)
|
||||
if is_plain and response.status_code == 200:
|
||||
cache.set(cache_key, response.data, MODEL_CATALOG_CACHE_TTL)
|
||||
try:
|
||||
cache.set(cache_key, response.data, MODEL_CATALOG_CACHE_TTL)
|
||||
except Exception:
|
||||
logger.warning("模型目录缓存写入失败,已返回直读结果", exc_info=True)
|
||||
return response
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user