Batch 结果、重试与恢复
处理 delivered、held、failed,避免重复付费并核对本地记录和清理范围。
This page has not been translated into English yet. The original Chinese version is shown below.
Batch 提交后由远端异步执行,本地保存任务记录和完整输入输出。收集是把远端结果校验后写入目标,不是重新提交请求。
收集结果
qwen batch collect <task-id> --wait
qwen batch listcollect 可带 --wait --timeout <s> 等待。交互会话启动时和运行期间会自动收集当前项目的完成任务并通知一次;general.batchAutoCollect: false 可关闭。无头 qwen -p、qwen serve、IDE/ACP 不自动收集,需要显式安排命令。
命令可以从任意目录执行;在会话中加 ! 前缀直接运行,不必消耗一个模型轮次。
| 结果 | 后续处理 |
|---|---|
| delivered | 已写目标,不重复处理 |
| held:源文件变化 | retry 使用新源文件重新提交 |
| held:目标已有不同内容 | 先解决文件冲突,再 collect,不新增请求 |
| failed | 可能是截断、空输出、工具调用或提供商错误;检查后决定重试 |
重复 collect 不会重做 delivered 条目或重复统计用量。源文件变化和目标冲突虽然都叫 held,处理方式不同。
显式重试
qwen batch retry <task-id>
qwen batch retry <task-id> --max-output-tokens 8192失败不会自动重试,因为重试会再次计费。普通 retry 重新提交失败项;截断项只有给出更大的输出上限才会包含,示例数值应大于原任务上限。
若远端创建成功但应答丢失,本地标记 submit-unknown,run 报失败。应让 collect 对照提供商 batch 列表协调状态,不要把失败当成肯定未提交而重复 run。
取消与删除记录
qwen batch cancel <task-id>
qwen batch clean <task-id>cancel 取消远端工作,已有部分结果仍计费。clean 仅删除本地记录,不会取消远端任务;任务可能仍运行或有未收集结果时默认拒绝,--force 才可越过这项保护。
结果落盘后会删除远端输入和输出文件。远端清理失败不阻塞 retry、cancel 或 clean,后续 collect 会再次尝试。远端结果文件即使重新下载一次仍不完整,或已经不存在,会把相应条目标为失败,避免任务永久悬挂。
记录与输出边界
任务记录默认位于 ~/.qwen/batch/tasks/<task-id>/,可用 QWEN_BATCH_HOME 改根目录。记录包含源文件和输出完整副本,使用仅 owner 访问权限;项目 .qwen/batch/ 中计划附带 .gitignore。
任务绑定提交时端点和 API key,磁盘只存 key 的短哈希。换账户或地区后,命令会拒绝处理,直到切回原配置。同一任务一次只允许一条 qwen batch 命令操作。
目标必须位于项目内,且任何层级都不能经过隐藏路径,包括 .git/、.github/、.qwen/。因为结果可能在批准数小时后才写入,预览会专门列出目标目录;收集时仍应检查 held / failed,而不是只看任务远端完成状态。