perf: run all background build/merge/rsync subprocesses at nice 19

This commit is contained in:
Davide Scaini
2026-05-24 19:07:23 +02:00
parent c9b544ab55
commit 2f5251e9fe
+5
View File
@@ -51,6 +51,8 @@ def _job_finish(job_id: str) -> None:
_rebuild_lock = threading.Lock()
_site_rebuild_event = threading.Event()
_low_priority = {"preexec_fn": lambda: os.nice(19)}
def _site_rebuild_worker() -> None:
"""Single background thread: debounced Astro build + rsync after uploads.
@@ -76,6 +78,7 @@ def _site_rebuild_worker() -> None:
"--site-dir", _site_dir],
capture_output=True,
text=True,
**_low_priority,
)
if result.returncode != 0:
log.error("site-rebuild: build failed (rc=%d):\n%s\n%s",
@@ -89,6 +92,7 @@ def _site_rebuild_worker() -> None:
f"{_site_dir}/dist/", _webroot + "/"],
capture_output=True,
text=True,
**_low_priority,
)
if rsync.returncode != 0:
log.error("site-rebuild: rsync failed (rc=%d):\n%s\n%s",
@@ -138,6 +142,7 @@ def _trigger_rebuild(handle: str) -> None:
"--no-build"],
capture_output=True,
text=True,
**_low_priority,
)
if result.returncode != 0:
log.error("rebuild[%s]: merge failed (rc=%d):\n%s\n%s",