959a391334
Some checks failed
publish docs / publish-docs (push) Has been cancelled
release-please / release-please (push) Has been cancelled
tests / setup (push) Has been cancelled
tests / ${{ matrix.quality-command }} (black) (push) Has been cancelled
tests / ${{ matrix.quality-command }} (mypy) (push) Has been cancelled
tests / ${{ matrix.quality-command }} (ruff) (push) Has been cancelled
tests / test (push) Has been cancelled
tests / all_checks_passed (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled
32 lines
750 B
Python
32 lines
750 B
Python
import logging
|
|
from collections.abc import Callable
|
|
from typing import Any
|
|
|
|
from retry_async import retry as retry_untyped # type: ignore
|
|
|
|
retry_logger = logging.getLogger(__name__)
|
|
|
|
|
|
def retry(
|
|
exceptions: Any = Exception,
|
|
*,
|
|
is_async: bool = False,
|
|
tries: int = -1,
|
|
delay: float = 0,
|
|
max_delay: float | None = None,
|
|
backoff: float = 1,
|
|
jitter: float | tuple[float, float] = 0,
|
|
logger: logging.Logger = retry_logger,
|
|
) -> Callable[..., Any]:
|
|
wrapped = retry_untyped(
|
|
exceptions=exceptions,
|
|
is_async=is_async,
|
|
tries=tries,
|
|
delay=delay,
|
|
max_delay=max_delay,
|
|
backoff=backoff,
|
|
jitter=jitter,
|
|
logger=logger,
|
|
)
|
|
return wrapped # type: ignore
|