From b2eaa094b302d508d4b558a53bca5219a66902f0 Mon Sep 17 00:00:00 2001 From: Egor Matveev Date: Fri, 1 Apr 2022 19:35:17 +0300 Subject: [PATCH] logs --- SprintLib/testers/BaseTester.py | 2 +- daemons/management/commands/docker_cleaner.py | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/SprintLib/testers/BaseTester.py b/SprintLib/testers/BaseTester.py index 80688f0..07f19ba 100644 --- a/SprintLib/testers/BaseTester.py +++ b/SprintLib/testers/BaseTester.py @@ -178,7 +178,7 @@ class BaseTester: add_name = file.filename[11:] send_to_queue("cleaner", {"type": "container", "name": f"solution_container_{self.solution.id}_{add_name}"}) send_to_queue("cleaner", {"type": "image", "name": f"solution_image_{self.solution.id}_{add_name}"}) - send_to_queue("cleaner", {"type": "network", "name": f"docker network rm solution_network_{self.solution.id}"}) + send_to_queue("cleaner", {"type": "network", "name": f"solution_network_{self.solution.id}"}) self.solution.user.userinfo.refresh_from_db() notify( self.solution.user, diff --git a/daemons/management/commands/docker_cleaner.py b/daemons/management/commands/docker_cleaner.py index 784265e..77529ec 100644 --- a/daemons/management/commands/docker_cleaner.py +++ b/daemons/management/commands/docker_cleaner.py @@ -8,5 +8,19 @@ class Command(MessagingSupport): queue_name = "cleaner" def process(self, payload: dict): - call(f'docker {payload["type"]} rm --force {payload["name"]}', shell=True) - print(f"Removed {payload['type']} {payload['name']}") + name = payload['name'] + type = payload['type'] + if type == 'network': + command = f'docker network rm {name}' + elif type == 'container': + command = f'docker rm --force {name}' + elif type == 'image': + command = f'docker image rm --force {name}' + else: + raise NotImplementedError(f"Unknown type {type}") + print(f"Executing command {command}") + code = call(command, shell=True) + if code == 0: + print(f"Removed {type} {name}") + else: + print("Something went wrong")