feat: support S3 media processing pipeline

This commit is contained in:
2026-02-04 19:15:44 +08:00
parent 8f7000dc8d
commit 57b7269215
4 changed files with 366 additions and 17 deletions

View File

@@ -348,7 +348,7 @@
- ✅ MinIO S3 Provider 配置可用(`config.prod.toml`
- ✅ 上传/访问/删除完整链路验证通过
### 17) 媒体处理管线适配对象存储S3/MinIO
### 17) 媒体处理管线适配对象存储S3/MinIO(已完成)
**需求目标**
- 在对象存储模式下,媒体处理任务可完整执行并回传产物。
@@ -356,10 +356,14 @@
- Worker从对象存储下载源文件到临时目录 → FFmpeg 处理 → 结果上传回对象存储 → 清理临时文件。
- 产物:封面/预览片段自动生成并回写 `media_assets`
- 本地 FS 仍保留兼容路径(开发/测试使用)。
- 进度本地视频处理已可生成封面资产ffmpeg 可用时)。
- 已完成:
- `Storage.Download` 支持 local copy + S3 FGetObject
- `MediaProcessWorker` 支持对象存储流程(下载 → FFmpeg → 上传封面 → 清理)
- 封面派生资产在 S3 模式走 `PutObject`(不再 rename
**测试方案**
- 对象存储模式下上传视频触发处理,封面/预览可访问;任务异常可重试。
- `ENV_LOCAL=test go test ./backend/app/jobs -run Test_MediaProcessWorkerLocal -count=1`
-`ENV_LOCAL=minio go test ./backend/app/jobs -run Test_MediaProcessWorkerS3 -count=1`
### 18) 支付集成
**需求目标**
@@ -393,6 +397,7 @@
- 性能优化(避免 N+1订单/租户列表批量聚合 + topics 聚合)。
- 多租户强隔离(/t/:tenantCode/v1 + TenantResolver
- 真实存储 Provider 接入(生产 MinIO S3 配置与 E2E 验证)。
- 媒体处理管线适配对象存储S3/MinIO
## 里程碑建议
- M1完成 P0