Package dev.langchain4j.internal
Class RetryUtils.RetryPolicy
java.lang.Object
dev.langchain4j.internal.RetryUtils.RetryPolicy
- Enclosing class:
RetryUtils
This class encapsulates a retry policy.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
This class encapsulates a retry policy builder. -
Constructor Summary
ConstructorDescriptionRetryPolicy
(int maxAttempts, int delayMillis, double jitterScale, double backoffExp) Construct a RetryPolicy. -
Method Summary
Modifier and TypeMethodDescriptionint
jitterDelayMillis
(int attempt) This method returns the jitter delay in milliseconds for a given attempt.double
rawDelayMs
(int attempt) This method returns the raw delay in milliseconds for a given attempt.void
sleep
(int attempt) This method sleeps for a given attempt.<T> T
This method attempts to execute a given action up to a specified number of times with a 1-second delay.<T> T
This method attempts to execute a given action up to a specified number of times with a 1-second delay.
-
Constructor Details
-
RetryPolicy
public RetryPolicy(int maxAttempts, int delayMillis, double jitterScale, double backoffExp) Construct a RetryPolicy.- Parameters:
maxAttempts
- The maximum number of attempts.delayMillis
- The delay in milliseconds.jitterScale
- The jitter scale.backoffExp
- The backoff exponent.
-
-
Method Details
-
rawDelayMs
public double rawDelayMs(int attempt) This method returns the raw delay in milliseconds for a given attempt.- Parameters:
attempt
- The attempt number.- Returns:
- The raw delay in milliseconds.
-
jitterDelayMillis
public int jitterDelayMillis(int attempt) This method returns the jitter delay in milliseconds for a given attempt.- Parameters:
attempt
- The attempt number.- Returns:
- The jitter delay in milliseconds.
-
sleep
public void sleep(int attempt) This method sleeps for a given attempt.- Parameters:
attempt
- The attempt number.
-
withRetry
This method attempts to execute a given action up to a specified number of times with a 1-second delay. If the action fails on all attempts, it throws a RuntimeException.- Type Parameters:
T
- The type of the result of the action.- Parameters:
action
- The action to be executed.- Returns:
- The result of the action if it is successful.
- Throws:
RuntimeException
- if the action fails on all attempts.
-
withRetry
This method attempts to execute a given action up to a specified number of times with a 1-second delay. If the action fails on all attempts, it throws a RuntimeException.- Type Parameters:
T
- The type of the result of the action.- Parameters:
action
- The action to be executed.maxAttempts
- The maximum number of attempts to execute the action.- Returns:
- The result of the action if it is successful.
- Throws:
RuntimeException
- if the action fails on all attempts.
-