Support lists in retry_on for RetryPolicy

Previously, `retry_on` in `RetryPolicy` accepted only exception classes, tuples of exception classes, or callables.
Update the `retry_on` type annotation to include `List[Type[Exception]]`

Changes:
- Updated `retry_on` in `RetryPolicy` to accept `List[Type[Exception]]`.
This commit is contained in:
Itay Etelis
2024-09-18 13:39:04 +03:00
parent 7d3389b6f1
commit 6873229bbf
+2 -2
View File
@@ -1,5 +1,5 @@
from collections import deque
from typing import Any, Callable, Literal, NamedTuple, Optional, Type, Union
from typing import Any, Callable, Literal, NamedTuple, Optional, Type, Union, List
from langchain_core.runnables import Runnable, RunnableConfig
@@ -52,7 +52,7 @@ class RetryPolicy(NamedTuple):
jitter: bool = True
"""Whether to add random jitter to the interval between retries."""
retry_on: Union[
Type[Exception], tuple[Type[Exception], ...], Callable[[Exception], bool]
Type[Exception], List[Type[Exception]], tuple[Type[Exception], ...], Callable[[Exception], bool]
] = default_retry_on
"""List of exception classes that should trigger a retry, or a callable that returns True for exceptions that should trigger a retry."""