fix(worker): ingest先下载OSS文件再提取元数据,修复有效性校验全部误判ERROR #489
Reference in New Issue
Block a user
Delete Branch "fix/ingest-download-first"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
根因:#488新增的有效性校验直接把storage_key传给ffprobe/Pillow,
但storage_key是OSS内部路径不是可访问的URL,元数据提取永远失败。
修复:
新增2个测试:下载失败场景 + 临时文件清理验证
Pull Request
变更类型
变更说明
相关 Issue
Closes #
测试
检查清单
截图(如适用)
额外信息
CI全绿,自动审批通过。
CI全绿,自动审批通过。
代码审查结果 - PR #489
⚠️ 问题(1个需要修改)
finally块中清理临时文件时,except OSError: pass会忽略所有删除失败的错误(如权限不足、文件被占用等)。在长时间运行的 Worker 进程中,这可能导致临时文件堆积,耗尽磁盘空间,且难以排查。建议至少记录 Warning 级别日志。💡 建议(1个可选)
download_asset接收的是Path对象,而extract_media_metadata接收的是str(local_file)。如果download_asset的实现依赖字符串操作(如拼接路径)或未完全适配pathlib,可能会引发意外错误。建议统一转换为字符串传入,即download_asset(job.storage_key, str(local_file)),以提高健壮性。✅ 格式检查通过 | ❌ 逻辑审查需修改 | ⚠️ 建议关注性能
🤖 由 AI 代码审查机器人自动生成 | 2026-07-18 00:24:10 | 模型: