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
Nested ClassesModifier and TypeClassDescriptionstatic final classThis class encapsulates a retry policy builder. -
Constructor Summary
ConstructorsConstructorDescriptionRetryPolicy(int maxAttempts, int delayMillis, double jitterScale, double backoffExp) Construct a RetryPolicy. -
Method Summary
Modifier and TypeMethodDescriptionintjitterDelayMillis(int attempt) This method returns the jitter delay in milliseconds for a given attempt.doublerawDelayMs(int attempt) This method returns the raw delay in milliseconds for a given attempt.voidsleep(int attempt) This method sleeps for a given attempt.<T> TThis method attempts to execute a given action up to a specified number of times with a 1-second delay.<T> TThis 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.
-