Enhance logging and timing in CLI and session operations

- Updated the `_print_checks` function to replace console prints with logging functions for better traceability.
- Introduced timing functionality in the `doctor`, `dry_run`, and `up` functions to log the duration of preflight checks.
- Modified the `wait_ssh` function to accept a logging callback, improving SSH wait feedback.
- Enhanced the `mark` method in `PhaseTimes` to log phase durations, aiding in performance analysis.
- Updated various remote scripts to ensure error messages are printed to stderr for better error handling.
This commit is contained in:
Leonid Pershin
2026-08-21 08:03:04 +03:00
parent 7756d0d4df
commit ccba40a228
16 changed files with 205 additions and 46 deletions
+2 -2
View File
@@ -110,7 +110,7 @@ def pull_stream(name: str, label: str) -> None:
def main() -> int:
if not JOBS.is_file():
print("no jobs file", file=sys.stderr)
print("no jobs file")
return 1
models = json.loads(JOBS.read_text(encoding="utf-8"))
if not isinstance(models, list) or not models:
@@ -135,7 +135,7 @@ def main() -> int:
have.add(name)
except (urllib.error.URLError, urllib.error.HTTPError, OSError, TimeoutError, RuntimeError) as exc:
failed += 1
print(f"FAIL pull {name}: {exc}", file=sys.stderr)
print(f"FAIL pull {name}: {exc}")
finally:
MARKER.unlink(missing_ok=True)
if failed: