From 17ae28a62f472a085540bc03c34169e80f66a8f2 Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Thu, 29 Feb 2024 14:06:06 +0200 Subject: [PATCH] Add agent.venvs_cache.lock_timeout to control the venv cache folder lock timeout (in seconds, default 30) --- clearml_agent/helper/os/folder_cache.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/clearml_agent/helper/os/folder_cache.py b/clearml_agent/helper/os/folder_cache.py index 16bdadc..15355d3 100644 --- a/clearml_agent/helper/os/folder_cache.py +++ b/clearml_agent/helper/os/folder_cache.py @@ -13,16 +13,17 @@ from .locks import FileLock class FolderCache(object): _lock_filename = '.clearml.lock' - _lock_timeout_seconds = 30 + _def_lock_timeout_seconds = 30 _temp_entry_prefix = '_temp.' - def __init__(self, cache_folder, max_cache_entries=5, min_free_space_gb=None): + def __init__(self, cache_folder, max_cache_entries=5, min_free_space_gb=None, lock_timeout_seconds=None): self._cache_folder = Path(os.path.expandvars(cache_folder)).expanduser().absolute() self._cache_folder.mkdir(parents=True, exist_ok=True) self._max_cache_entries = max_cache_entries self._last_copied_entry_folder = None self._min_free_space_gb = min_free_space_gb if min_free_space_gb and min_free_space_gb > 0 else None self._lock = FileLock((self._cache_folder / self._lock_filename).as_posix()) + self._lock_timeout_seconds = float(lock_timeout_seconds or self._def_lock_timeout_seconds) def get_cache_folder(self): # type: () -> Path