Allow custom timeout for database locking.
This commit is contained in:
parent
e17ad6a684
commit
fb73979345
1 changed files with 6 additions and 4 deletions
|
@ -44,6 +44,8 @@
|
||||||
# DB version. This is stuck in the DB file to track changes in format.
|
# DB version. This is stuck in the DB file to track changes in format.
|
||||||
_db_version = Version('0.9')
|
_db_version = Version('0.9')
|
||||||
|
|
||||||
|
# Default timeout for spack database locks is 5 min.
|
||||||
|
_db_lock_timeout = 300
|
||||||
|
|
||||||
def _autospec(function):
|
def _autospec(function):
|
||||||
"""Decorator that automatically converts the argument of a single-arg
|
"""Decorator that automatically converts the argument of a single-arg
|
||||||
|
@ -100,14 +102,14 @@ def __init__(self, root):
|
||||||
self._last_write_time = 0
|
self._last_write_time = 0
|
||||||
|
|
||||||
|
|
||||||
def write_lock(self):
|
def write_lock(self, timeout=_db_lock_timeout):
|
||||||
"""Get a write lock context for use in a `with` block."""
|
"""Get a write lock context for use in a `with` block."""
|
||||||
return self.lock.write_lock()
|
return self.lock.write_lock(timeout)
|
||||||
|
|
||||||
|
|
||||||
def read_lock(self):
|
def read_lock(self, timeout=_db_lock_timeout):
|
||||||
"""Get a read lock context for use in a `with` block."""
|
"""Get a read lock context for use in a `with` block."""
|
||||||
return self.lock.read_lock()
|
return self.lock.read_lock(timeout)
|
||||||
|
|
||||||
|
|
||||||
def _write_to_yaml(self, stream):
|
def _write_to_yaml(self, stream):
|
||||||
|
|
Loading…
Reference in a new issue