SC114 表示原来的测试请求还在进行时,shutdown-check 没能发出第二次 SIGTERM。要么是进程或请求先结束了,要么是操作系统拒绝了这个信号。
| 诊断码 | SC114 FAIL |
|---|---|
| 阶段 | 启动与进行中的工作 |
| CLI 退出码 | 1 |
| 含义 | 设置了 repeatSignalAfterMs,但没能在工作仍在进行时发出第二次信号。 |
| 输出信息 |
|
| 首先检查 | 让测试请求运行得比 repeatSignalAfterMs 更久,或者调低这个延迟。 |
如何修复?
- 把
repeatSignalAfterMs设得远小于测试请求的持续时间。 - 让可控的测试请求持续更久。
- 保持
repeatSignalAfterMs小于shutdown.deadlineMs。 - 检查第一次信号是否让进程立即退出。
{
"shutdown": {
"deadlineMs": 10000,
"repeatSignalAfterMs": 500
}
}重复信号检查是可选的。如果你的进程管理器或运维人员可能多次发送 SIGTERM,就启用它。正确的信号处理函数在收到第二次信号时,不应切断进行中的工作。
如何确认已修复?
通过时,时间线中的 signal repeated — SIGTERM 出现在每个 work request finished 事件之前。之后请求必须正常结束,进程也必须以预期的退出码退出。
如果第二次信号送达了,请求却被中断,结果会变成 SC201。这时应把处理函数改成幂等的,而不是去掉重复信号检查。