TsgcWSCircuitBreaker › 方法 › ForceOpen
手动将给定密钥的断路器移至 Open 状态。
procedure ForceOpen(const aKey: string);
| 名称 | 类型 | 描述 |
|---|---|---|
aKey | const string | 要强制打开的断路器键,通常是上游服务的主机名。 |
强制断路器直接进入 Open 状态的运算符重写,完全绕过阈值。在维护窗口、优雅停机或操作人员确知上游不健康并希望在滚动窗口阈值捕获之前停止持续请求时非常有用。控制 Open 到 HalfOpen 转换的计时器将使用 Recovery.CooldownSec 重新启动,因此断路器之后仍会探测恢复情况。OnStateChange 将以新状态触发。调用 ForceClose 或 Reset 可提前退出 Open 状态。
// Stop all outbound traffic to Stripe during a scheduled maintenance window
sgcWSCircuitBreaker1.ForceOpen('api.stripe.com');
try
RunMaintenanceTasks;
finally
sgcWSCircuitBreaker1.ForceClose('api.stripe.com');
end;