文档

当任务停滞或执行失败时

查看故障信息,选择重试、返工、暂停或取消。

任务会失败。大多数故障属于配置或规格说明问题,并非什么神秘原因,且通常可归为少数几类。

首先,查看任务停止的位置。

运行日志会显示哪个阶段出错。这一信息比任何其他内容都能更精准地定位故障原因:

出错的阶段为几乎总是意味着
在编写任何代码之前针对干净工作区的构建或安装命令有误。
在进行修改的过程中属于真正的复杂工作,或是缺少依赖项。
运行测试时测试命令有误,或是测试套件需要依赖特定服务。
验证环节属于阻塞性关卡;请查看相关发现结果。
审核无法自动修复的发现结果

在编写修改内容之前的故障属于配置问题。请参阅构建与测试配置.

任务并未卡住,只是处于排队状态。

一个处于PENDING状态的任务并未卡住,它正在等待空闲的代理插槽。请检查容量这是最常见的误报情况,需优先排查此点。

它正在向您征求决策。

NEEDS_HUMAN_REVIEW意味着该任务遇到了只有您才能做出的决策。这并非故障。回答相关问题后,任务便会从暂停处继续运行。

请准确作答。模糊的回答会导致再次猜测,进而再次暂停。

运行时间远超预期

通常有两个原因:

**测试套件运行缓慢或发生挂起。**Coroid负责运行您的测试套件;若其在干净工作区中挂起,任务便会等待。可通过在全新克隆的代码库上运行该测试套件来复现此问题。

**规格说明过于宽泛,导致代理不断发现更多待完成的工作。**明显的迹象是文件列表不断增长。此时应取消任务,通过明确标注排除范围来缩小范围,随后重新运行。请参阅规格说明.

选择处理方式

按成本从低到高排列:

  • 回答——适用于NEEDS_HUMAN_REVIEW。成本最低,且能保留所有上下文信息。
  • 返工——工作成果符合要求但不够完整。任务会退回给开发代理,同时保留您的发现结果及其上下文信息。
  • 暂停——您需要先确认某些事项。此举会释放插槽,且任务可恢复运行。
  • 重试——仅适用于真正的瞬时性故障。若因配置或范围问题导致故障,重试只会再次重现相同问题。
  • 取消并重新指定规格说明——说明采用的方法或范围有误。成本最高,但往往是最正确的选择。

跨多个任务重复的故障

无关任务在同一阶段出现相同故障,属于项目配置问题,而非任务本身的问题。请勿反复运行任务,应先修复配置。