diff --git a/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/RpcClientInvokeHandler.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/RpcClientInvokeHandler.java index a2755cb18..2022be7ea 100644 --- a/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/RpcClientInvokeHandler.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/RpcClientInvokeHandler.java @@ -214,8 +214,8 @@ public class RpcClientInvokeHandler implements InvocationHandler { private Retryer buildResultRetryer() { Retryer retryer = RetryerBuilder.newBuilder() .retryIfException(throwable -> failRetry) - .withStopStrategy(StopStrategies.stopAfterAttempt(retryTimes)) - .withWaitStrategy(WaitStrategies.fixedWait(retryInterval, TimeUnit.SECONDS)) + .withStopStrategy(StopStrategies.stopAfterAttempt(retryTimes <= 0 ? 1 : retryTimes)) + .withWaitStrategy(WaitStrategies.fixedWait(Math.max(retryInterval, 0), TimeUnit.SECONDS)) .withRetryListener(retryListener) .build(); return retryer; diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/job/RequestClientActor.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/job/RequestClientActor.java index 24fcc1baa..ff4c2feae 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/job/RequestClientActor.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/job/RequestClientActor.java @@ -124,10 +124,12 @@ public class RequestClientActor extends AbstractActor { } private JobRpcClient buildRpcClient(RegisterNodeInfo registerNodeInfo, RealJobExecutorDTO realJobExecutorDTO) { + + int maxRetryTimes = realJobExecutorDTO.getMaxRetryTimes(); return RequestBuilder.newBuilder() .nodeInfo(registerNodeInfo) .namespaceId(registerNodeInfo.getNamespaceId()) - .failRetry(Boolean.TRUE) + .failRetry(maxRetryTimes > 0) .retryTimes(realJobExecutorDTO.getMaxRetryTimes()) .retryInterval(realJobExecutorDTO.getRetryInterval()) .retryListener(new JobExecutorRetryListener(realJobExecutorDTO)) diff --git a/frontend/src/views/job/form/JobForm.vue b/frontend/src/views/job/form/JobForm.vue index fed664692..a65fbb7cb 100644 --- a/frontend/src/views/job/form/JobForm.vue +++ b/frontend/src/views/job/form/JobForm.vue @@ -210,7 +210,7 @@