- 定义 ping target 配置:host、count、packetSize - 定义 ping expect 断言:alive、maxPacketLoss、maxAvgLatencyMs、maxMaxLatencyMs - 设计跨平台 ping 输出解析器(Linux/macOS/Windows 含多语言支持) - 双重超时保障:ping 命令自身超时 + AbortSignal 兜底 - 扩展 checker-runner-abstraction spec 支持 ping checker 子进程控制 - 更新 probe-config spec 支持 ping type 配置
17 lines
919 B
Markdown
17 lines
919 B
Markdown
## MODIFIED Requirements
|
|
|
|
### Requirement: 超时控制由引擎注入 signal
|
|
Checker 实现的 `execute()` MUST 使用 `ctx.signal` 感知超时,不得自行创建 `AbortController` 或 `setTimeout` 用于超时控制。Cmd checker 和 ping checker 可在 signal abort 时 `proc.kill()` 以确保子进程被终止。
|
|
|
|
#### Scenario: HTTP checker 使用 signal
|
|
- **WHEN** HttpChecker 执行 HTTP 请求
|
|
- **THEN** SHALL 将 `ctx.signal` 传入 `fetch()` 的 `signal` 选项,不自行创建 `AbortController`
|
|
|
|
#### Scenario: Cmd checker 响应 signal
|
|
- **WHEN** CommandChecker 执行命令且 signal 被 abort
|
|
- **THEN** SHALL 调用 `proc.kill()` 终止子进程,并在 CheckResult 中记录超时错误
|
|
|
|
#### Scenario: Ping checker 响应 signal
|
|
- **WHEN** IcmpChecker 执行 ping 命令且 signal 被 abort
|
|
- **THEN** SHALL 调用 `proc.kill()` 终止 ping 子进程,并在 CheckResult 中记录超时错误
|