Files
life-echo/api/app/core/storage_purge.py
Kevin a3f61fcc0f feat(api+app): 对话阶段化、回忆录流水线与客户端会话体验
- DB: segments 用户输入文本(Alembic 0002)
- Chat: 阶段检测/阶段提示/回复限制,编排与访谈/画像 prompts 调整
- Memoir: 忠实度检查 agent,叙事与分类等链路更新
- Core: agent 日志、Alembic 启动、LangChain/日志/配置等
- Story: time_hints;Memory 检索与相关测试
- Expo: 助手头像、会话页与消息拆分、实时会话与文案/i18n
- Docs/scripts/tests: 迁移脚本、LLM JSON/记忆检索文档、新增单测
2026-03-26 12:13:36 +08:00

29 lines
732 B
Python

"""对象存储批量删除(尽力而为,不打断主流程)。"""
from collections.abc import Iterable
from app.core.logging import get_logger
from app.ports.storage import ObjectStorage
logger = get_logger(__name__)
def delete_object_storage_keys_best_effort(
storage: ObjectStorage | None,
keys: Iterable[str],
*,
log_prefix: str,
) -> None:
if storage is None:
return
seen: set[str] = set()
for raw in keys:
key = (raw or "").strip()
if not key or key in seen:
continue
seen.add(key)
try:
storage.delete(key)
except Exception as e:
logger.warning("{}: COS 删除失败 key={} err={}", log_prefix, key, e)