diff options
Diffstat (limited to 'app/backends/audiocpp/models.py')
| -rw-r--r-- | app/backends/audiocpp/models.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/app/backends/audiocpp/models.py b/app/backends/audiocpp/models.py index 75bc06a..772ae8d 100644 --- a/app/backends/audiocpp/models.py +++ b/app/backends/audiocpp/models.py @@ -11,6 +11,11 @@ from typing import Dict, List, Optional, Set, Tuple from backends import common from . import catalog as _catalog +# No-output watchdog for model downloads: huggingface_hub streams steady +# byte progress, so 5 minutes of silence means the transfer wedged. The +# runner kills it and reports exit 124 (see run_console_subprocess). +DOWNLOAD_STALL_TIMEOUT = 300 + def _installed_display_names(audiocpp_dir: Path, model_entries: Optional[List[dict]], install_guidance: List[Tuple[str, str]] @@ -133,7 +138,9 @@ def _install_models(audiocpp_dir: Path, try: rc = common.run_console_subprocess( argv, cwd=str(audiocpp_dir), emit=emit, cancel=cancel, - on_cancel=on_cancel) + on_cancel=on_cancel, + stall_timeout=(DOWNLOAD_STALL_TIMEOUT + if supports_progress else None)) except OSError as exc: print(f"[WARNING] Could not run python {manager} install " f"{install_id}: {exc}") |
