Show More
@@ -154,6 +154,9 b' rc_cache.repo_object.expiration_time = 2' | |||
|
154 | 154 | ; more Redis options: https://dogpilecache.sqlalchemy.org/en/latest/api.html#redis-backends |
|
155 | 155 | #rc_cache.repo_object.arguments.distributed_lock = true |
|
156 | 156 | |
|
157 | ; auto-renew lock to prevent stale locks, slower but safer. Use only if problems happen | |
|
158 | #rc_cache.repo_object.arguments.lock_auto_renewal = true | |
|
159 | ||
|
157 | 160 | ; Statsd client config |
|
158 | 161 | #statsd.enabled = false |
|
159 | 162 | #statsd.statsd_host = 0.0.0.0 |
@@ -189,6 +189,16 b' class FileNamespaceBackend(PickleSeriali' | |||
|
189 | 189 | |
|
190 | 190 | |
|
191 | 191 | class BaseRedisBackend(redis_backend.RedisBackend): |
|
192 | key_prefix = '' | |
|
193 | ||
|
194 | def __init__(self, arguments): | |
|
195 | super(BaseRedisBackend, self).__init__(arguments) | |
|
196 | self._lock_timeout = self.lock_timeout | |
|
197 | self._lock_auto_renewal = arguments.pop("lock_auto_renewal", False) | |
|
198 | ||
|
199 | if self._lock_auto_renewal and not self._lock_timeout: | |
|
200 | # set default timeout for auto_renewal | |
|
201 | self._lock_timeout = 60 | |
|
192 | 202 | |
|
193 | 203 | def _create_client(self): |
|
194 | 204 | args = {} |
@@ -254,14 +264,8 b' class BaseRedisBackend(redis_backend.Red' | |||
|
254 | 264 | if self.distributed_lock: |
|
255 | 265 | lock_key = redis_backend.u('_lock_{0}').format(key) |
|
256 | 266 | log.debug('Trying to acquire Redis lock for key %s', lock_key) |
|
257 | ||
|
258 | auto_renewal = True | |
|
259 | lock_timeout = self.lock_timeout | |
|
260 | if auto_renewal and not self.lock_timeout: | |
|
261 | # set default timeout for auto_renewal | |
|
262 | lock_timeout = 10 | |
|
263 | return get_mutex_lock(self.client, lock_key, lock_timeout, | |
|
264 | auto_renewal=auto_renewal) | |
|
267 | return get_mutex_lock(self.client, lock_key, self._lock_timeout, | |
|
268 | auto_renewal=self._lock_auto_renewal) | |
|
265 | 269 | else: |
|
266 | 270 | return None |
|
267 | 271 |
General Comments 0
You need to be logged in to leave comments.
Login now