Shutdown Check

搜索文档

查找页面或章节

SC203:进行中请求的响应体错误

SC203(进行中请求的响应体错误)表示收到 SIGTERM 时正在处理的请求结束了,但响应中没有 workload.bodyIncludes 指定的文本。检查处理函数和配置。

SC203 表示响应返回了预期的状态码,但没有包含 workload.bodyIncludes 中的文本。请求正常结束了,但结果无法证明预期的工作已经完成。

诊断码SC203 FAIL
阶段进行中请求的响应
CLI 退出码1
含义收到 SIGTERM 时正在运行的请求完成了,但响应体中不包含 workload.bodyIncludes。
输出信息
  • In-flight response did not contain <workload.bodyIncludes>
首先检查确认处理函数在关闭期间会写出完整的响应,并且 bodyIncludes 与它实际发送的内容一致。

为什么会出现?

  • 处理函数返回了一个带成功状态码的错误页面。
  • 关闭过程跳过了操作的一部分。
  • 响应文本改了,配置没有跟着改。
  • 比较时大小写或空白字符不一致。
  • 期望的文本出现在 1 MiB 响应捕获上限之后。

如何修复?

正常运行一次这个路由,选一段简短、稳定、只在成功后才出现的文本:

shutdown-check.json
{
  "workload": {
    "path": "/reports/export",
    "status": 200,
    "bodyIncludes": "export complete",
    "started": { "type": "probe", "path": "/test/work-active" }
  }
}

匹配区分大小写。避免使用 ID、时间戳或其他每次运行都会变化的值。

如何确认已修复?

查看真实的响应体,确认这个标记会在工作成功后出现。下一次运行应该以预期的状态码完成,不再出现 SC203。

如果响应超过 1 MiB,选一个更靠前的标记,或者通过一个专门构建、响应更小的接口来测试结果。shutdown-check 只能检查捕获到的前面那部分内容。