diff options
author | Erik Johnston <erik@matrix.org> | 2015-11-05 16:15:50 +0000 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2015-11-05 16:15:50 +0000 |
commit | 5bc690408d8b6bf409e4fbb2b4b8df07562d1c10 (patch) | |
tree | 671d8157a06a9507af3ce271eecef314c141a0ff /synapse/util/retryutils.py | |
parent | Merge branch 'develop' of github.com:matrix-org/synapse into develop (diff) | |
parent | Retry dead servers a lot less often (diff) | |
download | synapse-5bc690408d8b6bf409e4fbb2b4b8df07562d1c10.tar.xz |
Merge pull request #340 from matrix-org/erikj/server_retries
Retry dead servers a lot less often
Diffstat (limited to 'synapse/util/retryutils.py')
-rw-r--r-- | synapse/util/retryutils.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/synapse/util/retryutils.py b/synapse/util/retryutils.py index a42138f556..2fe6814807 100644 --- a/synapse/util/retryutils.py +++ b/synapse/util/retryutils.py @@ -18,6 +18,7 @@ from twisted.internet import defer from synapse.api.errors import CodeMessageException import logging +import random logger = logging.getLogger(__name__) @@ -85,8 +86,9 @@ def get_retry_limiter(destination, clock, store, **kwargs): class RetryDestinationLimiter(object): def __init__(self, destination, clock, store, retry_interval, - min_retry_interval=5000, max_retry_interval=60 * 60 * 1000, - multiplier_retry_interval=2,): + min_retry_interval=10 * 60 * 1000, + max_retry_interval=24 * 60 * 60 * 1000, + multiplier_retry_interval=5,): """Marks the destination as "down" if an exception is thrown in the context, except for CodeMessageException with code < 500. @@ -140,6 +142,7 @@ class RetryDestinationLimiter(object): # We couldn't connect. if self.retry_interval: self.retry_interval *= self.multiplier_retry_interval + self.retry_interval *= int(random.uniform(0.8, 1.4)) if self.retry_interval >= self.max_retry_interval: self.retry_interval = self.max_retry_interval |