aboutsummaryrefslogtreecommitdiff
path: root/app/backends/audiocpp/models.py
diff options
context:
space:
mode:
authorhistoria <historiavg@proton.me>2026-08-28 02:43:27 -0400
committerhistoria <historiavg@proton.me>2026-08-28 02:43:27 -0400
commit5c3db8f500ff206f3a675d8f4184cb0d61f94804 (patch)
treeeab36bc6ff0e55bd27871d9154f1bc0764f20af6 /app/backends/audiocpp/models.py
parenta7c653313d2bb1e185cfbc3f0f52c2fe33218600 (diff)
downloadtts-audiobook-generator-5c3db8f500ff206f3a675d8f4184cb0d61f94804.tar.gz
feat: cuda arch detection for shorter builds, build failure detection
Diffstat (limited to 'app/backends/audiocpp/models.py')
-rw-r--r--app/backends/audiocpp/models.py9
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}")