"""后台 reaper:清理被放弃的分片上传会话与临时文件。供 main.py 启动时调用。""" from __future__ import annotations import logging from ..database import get_session_local from .upload_service import UploadService logger = logging.getLogger("audio2text.reaper") def reap_stale_sessions() -> int: """执行一次过期会话清理。""" db = get_session_local()() try: return UploadService(db).reap_stale_sessions() except Exception as exc: # pragma: no cover logger.warning("reaper 执行失败:%s", exc) return 0 finally: db.close()