fix: 预置音色 preview 改为顺序生成,避免 DashScope 429 限流 #1223
Reference in New Issue
Block a user
Delete Branch "fix/preset-preview-sequential"
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?
问题
PR #1222 中使用 ThreadPoolExecutor(max_workers=4) 并行调用 CosyVoice TTS,触发 DashScope API 速率限制(HTTP 429 Throttling.RateQuota),导致所有预置音色的 preview_url 降级为硬编码的过期 URL。
修复
ThreadPoolExecutor,改为 for 循环顺序调用p.preview_url(硬编码 fallback)关联
🚀 预览环境已部署
代码审查结果 - PR #1223
⚠️ 问题(1个需要修改)
"",新代码改为返回原始值p.preview_url。结合注释中提到的“结果缓存 7 天”,如果解析失败是因为p.preview_url本身无效(如为占位符、相对路径或临时令牌),将这个无效值缓存 7 天会导致用户在长时间内无法获取正确的预览链接,造成功能异常。p.preview_url在解析失败时是否必定为有效可用的最终 URL。如果不是,应保持返回空字符串或 None,并仅在确认其有效时才回退。💡 建议(1个可选)
except Exception块仅做了值回退,未打印任何日志。如果 API 调用频繁失败(如触发限流或网络问题),运维将无法感知。建议添加logging.error记录具体的异常堆栈和voice_id,便于排查问题。✅ 格式检查通过 | ❌ 逻辑审查需修改 | ⚠️ 建议关注性能
🤖 由 AI 代码审查机器人自动生成 | 2026-08-02 16:30:46 | 模型:
🗑️ 预览环境已清理
PR #1223 已关闭或合并,对应的预览环境已被清理。