2 Commits

Author SHA1 Message Date
audio2text dev
e0dd987dba fix: ffmpeg 串行化(最多1个同时运行),上传不限制
问题:enqueue_task 每任务起一个 ffmpeg 线程,4 个文件同时跑 ffmpeg,
CPU/磁盘 IO 争抢导致整体变慢。

修复:
- scheduler.py: ffmpeg 改为单工作线程 + queue.Queue 串行队列
  enqueue_task 只入队不入线程,最多 1 个 ffmpeg 同时运行
- 上传接收不受限:complete 立即返回,不等待 ffmpeg
- GPU 调度线程不变(仍串行,与 ffmpeg 并行)

验证:4 文件并发上传,日志确认提取严格串行(40→41→42→43 无重叠),
排队任务显示 queued 状态,4/4 成功(21.0s)
2026-07-06 22:08:59 +08:00
audio2text dev
73110848f4 feat: 调度器+并发管线+GPU优化+日志分级+前端修复
- scheduler: ffmpeg 异步线程 + GPU 串行调度 + 模型复用(2N→2 次加载)
- pipeline: 阶段拆分(extract/asr/translate),中间数据存 Task 字段
- translate_service: 长度排序批处理,padding 浪费减少 91%
- model_manager: ASR/翻译不共驻,BatchedInferencePipeline 批量解码
- 日志分级: INFO=任务流转里程碑,DEBUG=进度详情;默认 INFO
- 前端: 日志最新在上+滚动感知+退避轮询;24h 时间;上传中状态显示
- /health: 返回完整 Whisper/NLLB 配置
- upload_service: 单事务 complete + 扩展名白名单
- task_router: 合并 UploadSession 虚拟任务到列表
- Dockerfile: CPU/GPU 独立构建链,deps 缓存稳定
- prefetch_models: 安装时预下载模型权重
2026-07-06 21:59:59 +08:00