在 在操作中處理間歇性故障需要可靠的重試機制。 通用重試功能不是重複的手動重試循環,提供了提高代碼可維護性和彈性的卓越解決方案。
> 通用重試函數
此方法引入了一種多功能重試函數
(或更具描述性的名稱),該功能簡化了任何方法的重試邏輯。 該函數允許指定重試參數:嘗試數,重試之間的間隔以及執行的方法。
實現重試函數TryThreeTimes()
>
方法通過指定的重試嘗試迭代,在每種嘗試之間暫停。 收集了遇到的任何例外。 在所有嘗試發生後,如果發生故障,就會拋出一個,提供所有例外的詳細信息。
<code class="language-csharp">public static class RetryHelper { public static void Execute( Action action, TimeSpan retryInterval, int maxAttemptCount = 3) { // ... implementation details ... } public static T Execute<T>( Func<T> action, TimeSpan retryInterval, int maxAttemptCount = 3) { // ... implementation details ... } }</code>
>利用重試函數Execute
AggregateException
>
RetryHelper.Execute(() => SomeFunctionThatMightFail(), TimeSpan.FromSeconds(1));
RetryHelper.Execute(SomeFunctionThatMightFail, TimeSpan.FromSeconds(1));
int result = RetryHelper.Execute(SomeFunctionReturningInt, TimeSpan.FromSeconds(1), 4);
增強的可維護性:
集中化了重試邏輯,改善代碼組織並減少冗餘。
以上是通用重試功能如何改善代碼可維護性和彈性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!