refactor: merge duplicate pool status functions into _get_pool_status
This commit is contained in:
+9
-25
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user