refactor: merge duplicate pool status functions into _get_pool_status

This commit is contained in:
2026-07-23 11:13:17 +00:00
parent 1e6eadeed2
commit 2e0d4c78ca
+9 -25
View File
@@ -194,16 +194,15 @@ def ensure_web_pool(target_size: Optional[int] = None) -> None:
break
def get_universal_pool_status() -> dict:
desired = max(0, UNIVERSAL_POOL_SIZE)
def _get_pool_status(desired_size: int, name_fn) -> dict:
desired = max(0, desired_size)
if desired <= 0:
return {"desired": 0, "running": 0, "total": 0, "health": "down", "names": []}
d = docker_client()
names = [universal_container_name(i) for i in range(desired)]
containers = []
for name in names:
for i in range(desired):
try:
containers.append(d.containers.get(name))
containers.append(d.containers.get(name_fn(i)))
except Exception:
continue
running = sum(1 for c in containers if c.status == "running")
@@ -217,27 +216,12 @@ def get_universal_pool_status() -> dict:
}
def get_universal_pool_status() -> dict:
return _get_pool_status(UNIVERSAL_POOL_SIZE, universal_container_name)
def get_web_pool_status() -> dict:
desired = max(0, WEB_POOL_SIZE)
if desired <= 0:
return {"desired": 0, "running": 0, "total": 0, "health": "down", "names": []}
d = docker_client()
names = [web_pool_container_name(i) for i in range(desired)]
containers = []
for name in names:
try:
containers.append(d.containers.get(name))
except Exception:
continue
running = sum(1 for c in containers if c.status == "running")
health = "ok" if running >= min(desired, 1) else "down"
return {
"desired": desired,
"running": running,
"total": len(containers),
"names": sorted(c.name for c in containers),
"health": health,
}
return _get_pool_status(WEB_POOL_SIZE, web_pool_container_name)
def acquire_universal_slot(db: Session) -> int: