From 36abbf573e6e621552e3d55e1bffd674d347bf8b Mon Sep 17 00:00:00 2001 From: root Date: Mon, 15 Jun 2026 16:25:58 +0000 Subject: [PATCH] fix: unbuffer sidecar stdout so logs appear in journalctl --- deploy/llm-sidecar.service | 1 + sidecar/app.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/deploy/llm-sidecar.service b/deploy/llm-sidecar.service index 43c56b9..fd86415 100644 --- a/deploy/llm-sidecar.service +++ b/deploy/llm-sidecar.service @@ -12,6 +12,7 @@ EnvironmentFile=-/home/bigt/AI/llm/.env Environment=MANIFEST_PATH=/home/bigt/AI/llm/manifest.yaml Environment=SIDECAR_PORT=8080 Environment=PATH=/home/bigt/AI/llm/venv/bin:/usr/local/bin:/usr/bin:/bin +Environment=PYTHONUNBUFFERED=1 # Use the sidecar's venv — install deps via deploy/README.md ExecStart=/home/bigt/AI/llm/venv/bin/uvicorn sidecar.app:app --host 0.0.0.0 --port 8080 diff --git a/sidecar/app.py b/sidecar/app.py index fab7739..cf9aacd 100644 --- a/sidecar/app.py +++ b/sidecar/app.py @@ -29,7 +29,7 @@ _switch_lock = threading.Lock() # Use threading.Lock for compatibility with Tes @asynccontextmanager async def lifespan(app: FastAPI): """Manage sidecar lifecycle — no default model loaded.""" - print(f"Sidecar starting, manifest={MANIFEST_PATH}, port={SIDECAR_PORT}") + print(f"Sidecar starting, manifest={MANIFEST_PATH}, port={SIDECAR_PORT}", flush=True) yield # Cleanup: kill llama-server if running global _llama_server_process @@ -69,7 +69,7 @@ async def _start_llama_server(profile: dict): for key, value in profile.get("flags", {}).items(): cmd += ["--" + key, str(value)] - print(f"Starting llama-server: {' '.join(cmd)}") + print(f"Starting llama-server: {' '.join(cmd)}", flush=True) _llama_server_process = await asyncio.create_subprocess_exec( *cmd, stdout=asyncio.subprocess.DEVNULL,