retry-logic

    2熱度

    1回答

    前一段時間,我需要R中的一個retry函數來處理緩慢的服務器響應。該功能將有以下行爲:(嘗試一個動作(函數或方法),如果失敗,稍等一會,然後重試)X10 我想出了以下內容: retry <- function(fun, max_trys = 10, init = 0){ suppressWarnings(tryCatch({ Sys.sleep(0.3); if(in

    0熱度

    1回答

    我必須與外部服務集成,這需要訪問令牌隨每個請求一起發送。訪問令牌的過期時間很短(只有幾個小時)。我決定以樂觀的方式使用訪問令牌。我將用當前令牌調用外部服務。我得到401的情況我將刷新令牌並再次調用外部API。 我決定使用ClientHttpRequestInterceptor來實現描述的重試機制。 public ClientHttpResponse intercept(HttpRequest re

    1熱度

    3回答

    我正在使用Mule作爲ESB解決方案。我有一個隊列,從那裏我收到消息,並試圖使HTTP請求服務,始終失敗。 我已經配置了RedeliveryPolicy上的ActiveMQ這樣的: <spring:bean id="retryRedeliveryPolicy" class="org.apache.activemq.RedeliveryPolicy" name="retryRedeliv

    0熱度

    1回答

    爲了測試重試功能,我特意設置了非常低的http調用崩潰的超時,但是引發了一個異常,因此httpClient沒有重試以前的請求。 起初我以爲只有在經過maxRetry配置的一些嘗試失敗(HTTP代碼500)後,纔會引發異常。 因此,我的代碼邏輯被破壞,如果我強制執行以再次執行與PostAsync的API調用,則重試功能將無用,代碼很髒。發生一個或多個錯誤: IClient clientV2 = ne

    3熱度

    1回答

    是否可以根據特定條件重試?如果我使用Retryable進行註釋,它將根據某些異常重試,但如果捕獲該異常並滿足相應的條件,我想重試。 實施例: @Retryable(value={MyException.class},maxAttempts=2) public myMethod(Request request){ try{ doSomething(); } Cat

    1熱度

    2回答

    從問題在這裏跟進: Cleanest way to write retry logic? 在答案,泛型類重試功能的定義和使用這樣的: Retry.Do(() => SomeFunctionThatCanFail(), TimeSpan.FromSeconds(1)); 會如何你實現了一個通用的重試,構造函數也可以拋出? 所以我不只是要重試: SomeFunctionThatCanFail()

    1熱度

    1回答

    我有一個封裝了REST調用的hystrix命令。如果發生故障(例如,超時),我想重新嘗試一次,並在發生故障時返回適當的錯誤。 正如我所見Hystrix不支持重試。使用Hystrix的唯一方法是將主邏輯放入getFallback()方法中。但它看起來並不正確。 那麼,用hystrix實現超時的正確方法是什麼?

    1熱度

    1回答

    我正在使用AmazonSQSClient與SQS服務交互並使用默認的客戶端配置,這意味着它已經在使用DEFAULT_RETRY_POLICY。 假設我在我的Java代碼中調用了「sendMessage」方法。 根據文檔,該方法可以拋出2種類型的異常:InvalidMessageContentsException & UnsupportedOperationException。 現在讓我們假設SQS