TsgcWSCircuitBreaker › 方法 › LoadStateFromFile
从之前由 SaveStateToFile 写入的文件中恢复断路器状态和计数器。
procedure LoadStateFromFile(const aFileName: string);
| 名称 | 类型 | 描述 |
|---|---|---|
aFileName | const string | 由 SaveStateToFile 之前生成的文件路径。如果文件不存在,该方法将静默返回,因此首次启动场景是安全的。 |
从快照中恢复每个密钥的状态、滚动窗口计数器和最后状态变更时间戳,该快照由 SaveStateToFile 写入。在流量开始流动之前于启动时调用一次,使断路器从上次已知状态恢复,而非冷启动,从而防止刚重启的进程立即冲击已知处于 Open 状态的上游。当文件缺失时,此方法为空操作(首次启动安全)。仅恢复运行时状态;配置必须以编程方式设置或来自设计时属性值。
// Restore circuit state at startup so a restart does not forget Open circuits
procedure TForm1.FormCreate(Sender: TObject);
begin
sgcWSCircuitBreaker1.LoadStateFromFile('circuit.dat');
sgcAI_OpenAI1.CircuitBreaker := sgcWSCircuitBreaker1;
end;