用途:帮助设计并实现批量 API 操作,通过批量请求端点、并发控制的并行执行、部分失败处理和进度跟踪,提升批量请求效率。
主要能力:支持在单个请求中接收操作数组;为小批量(少于 100 项)提供同步处理,在数据库事务中执行并返回逐项结果;为大批量(超过 100 项)提供异步处理,返回 202 与 batchId 及状态轮询地址。支持可配置并发上限(默认 10),提供部分失败处理与汇总计数,并提供异步批次进度查询接口。内置批量大小限制与校验(最多 1000 项,超限返回 413)。
使用方式:技能指导先用 Read 和 Grep 检查现有端点,找出被循环调用的操作作为批处理候选;随后设计批量请求格式,例如 POST /batch 接收 {operations: [{method, path, body, id}]}。同步批次在事务中执行并返回 {id, status, result|error};异步批次由后台 worker 处理并在 Redis 中更新进度。可参考技能目录下的 implementation.md、errors.md、examples.md。
适用场景:批量用户导入、多资源混合操作、带幂等键的批量重试等。
限制:需具备可处理大请求体的 Web 框架、支持批量操作的数据库、队列系统(Bull/BullMQ、Celery 或 SQS)以及 Redis 进度存储;需注意 413、207、408、事务回滚与进度停滞等错误情形。