批量并发处理
Batch Concurrency Control
大规模 AI 任务的自适应分批、并发控制、错开启动与容错隔离
子问题
1.双重约束(input+output token)自适应分批
2.信号量+错开启动并发控制
3.优先级任务队列
4.批间延迟与限流
5.不可重试错误识别与快速失败(TOKEN_BUDGET_EXCEEDED 等)
6.system prompt token 开销的跨批次重复计入
7.异构任务(文本/图片/视频)的统一队列调度
各项目的解法1 solutions
Signals
横向对比
| 维度 | moyin-creator |
|---|---|
| 分批策略 | 双重约束(input+output token)贪心分组 + 60K Hard Cap |
| 并发模型 | 信号量 + stagger 错开启动,用户可配并发数 |
| 任务调度 | TaskQueue 优先级插入排序 + handler 类型分发 |
| 容错策略 | PromiseSettledResult 部分成功返回 + 批次级指数退避重试 |
| 限流机制 | 三层限流:stagger 间隔 + 信号量 + rateLimitedBatch 批间延迟 |
| 进度反馈 | onProgress 回调 + BatchProgressOverlay UI 组件 |
最佳实践
1.贪心分组保证每批至少1项
2.单批次失败不影响其他批次
3.runStaggered 错开启动避免瞬时并发
4.60K Hard Cap 防止超长上下文 TTFT 过高和 Lost in the middle
5.函数级限流装饰器 createRateLimitedFn 保证最小调用间隔
6.并发数从用户配置读取而非硬编码,适配不同 API Key 限流阈值