feat: add SIGINT handler for container cleanup and enable replace flag for podman execution

This commit is contained in:
Donato Capitella
2026-05-15 08:43:34 +01:00
parent c0e33115ca
commit b1d526b775
+12 -1
View File
@@ -66,6 +66,17 @@ COOLDOWN = 5 # seconds between runs
BENCH_SCRIPT = Path(__file__).parent / "mtp-bench.py"
def _sigint_handler(sig, frame):
"""Clean up container on Ctrl+C."""
print("\n\n🛑 Interrupted — cleaning up container...")
subprocess.run(["podman", "stop", "-t", "3", CONTAINER_NAME], capture_output=True)
subprocess.run(["podman", "rm", "-f", CONTAINER_NAME], capture_output=True)
sys.exit(1)
import signal
signal.signal(signal.SIGINT, _sigint_handler)
# ── Model discovery ──────────────────────────────────────────────────────────
def discover_models(models_dir: Path) -> list[dict]:
@@ -207,7 +218,7 @@ def start_server(toolbox: dict, gguf: str, models_dir: Path,
return False
cmd = [
"podman", "run", "--rm", "-d",
"podman", "run", "--rm", "--replace", "-d",
"--name", CONTAINER_NAME,
"--security-opt", "label=disable",
"--userns=keep-id",