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