From 3a037888c52302e3f672290d01934e8a5114b6e0 Mon Sep 17 00:00:00 2001 From: zphrs <z@zephiris.dev> Date: Thu, 13 Mar 2025 20:47:15 -0700 Subject: [PATCH] Minor perf improvements --- utils/containers.py | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/utils/containers.py b/utils/containers.py index dae84e4..894dbd2 100644 --- a/utils/containers.py +++ b/utils/containers.py @@ -107,7 +107,7 @@ class ClusterConductor: def dump_all_container_logs(self, dir): self.log("dumping logs of kvs containers") - container_pattern = "^kvs_.*" + container_pattern = f"^kvs_{self.group_id}_.*" container_regex = re.compile(container_pattern) containers = self._list_containers() @@ -143,6 +143,17 @@ class ClusterConductor: error_prefix=f"failed to remove container {name}", ) + def _remove_containers(self, names: list[str]) -> None: + if len(names) == 0: + return + self.log(f"removing containers {names}") + run_cmd_bg( + self._make_remove_cmd(names[0]) + names[1:], + verbose=True, + error_prefix=f"failed to remove containers {names}", + ) + + def _remove_network(self, name: str) -> None: # remove a single network self.log(f"removing network {name}") @@ -184,10 +195,12 @@ class ClusterConductor: # cleanup containers self.log(f" cleaning up {'group' if group_only else 'all'} containers") containers = self._list_containers() - for container in containers: - if container and container_regex.match(container): - self._remove_container(container) - + containers_to_remove = [ + container + for container in containers + if container and container_regex.match(container) + ] + self._remove_containers(containers_to_remove) # cleanup networks self.log(f" cleaning up {'group' if group_only else 'all'} networks") networks = self._list_networks() -- GitLab