summaryrefslogtreecommitdiff
path: root/redis/retry.py
diff options
context:
space:
mode:
authorKristján Valur Jónsson <sweskman@gmail.com>2022-04-28 11:16:14 +0000
committerGitHub <noreply@github.com>2022-04-28 14:16:14 +0300
commitc29d158c854c659994b6d8704d4b420faaa95bca (patch)
treefe6e5ff9c6d5d611aa907115d8ec5c05581f77d5 /redis/retry.py
parentabd5aeffc5cca02826973ab32e4d43e200eff18e (diff)
downloadredis-py-c29d158c854c659994b6d8704d4b420faaa95bca.tar.gz
`Retry()`: Support negative `retries` value (#2110)
* Support negative `retries` value * Add unit test * Add unittest for blocking api
Diffstat (limited to 'redis/retry.py')
-rw-r--r--redis/retry.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/redis/retry.py b/redis/retry.py
index 3dced35..57be971 100644
--- a/redis/retry.py
+++ b/redis/retry.py
@@ -16,6 +16,7 @@ class Retry:
"""
Initialize a `Retry` object with a `Backoff` object
that retries a maximum of `retries` times.
+ `retries` can be negative to retry forever.
You can specify the types of supported errors which trigger
a retry with the `supported_errors` parameter.
"""
@@ -46,7 +47,7 @@ class Retry:
except self._supported_errors as error:
failures += 1
fail(error)
- if failures > self._retries:
+ if self._retries >= 0 and failures > self._retries:
raise error
backoff = self._backoff.compute(failures)
if backoff > 0: