From ced9d12914dbfa7b8f2093e7952fb76bb6775902 Mon Sep 17 00:00:00 2001 From: Egor Matveev Date: Sat, 7 May 2022 21:35:31 +0300 Subject: [PATCH] docker cleaner fix --- daemons/management/commands/docker_cleaner.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/daemons/management/commands/docker_cleaner.py b/daemons/management/commands/docker_cleaner.py index 817db3c..f029d27 100644 --- a/daemons/management/commands/docker_cleaner.py +++ b/daemons/management/commands/docker_cleaner.py @@ -26,12 +26,26 @@ class Command(LoopWorker): for line in lines: line = [i for i in line.split() if i] if line and line[0].startswith('solution_'): + for el in line[-1].split('_'): + if el.isnumeric(): + solution_id = int(el) + break + solution = Solution.objects.filter(id=solution_id).first() + if solution is not None and (solution.result == 'In queue' or solution.result == 'Testing'): + continue call("docker image rm " + line[0], shell=True) result = run("docker network ls", universal_newlines=True, stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=True) lines = result.stdout.split('\n')[1:] for line in lines: line = [i for i in line.split() if i] if line and line[1].startswith('solution_'): + for el in line[-1].split('_'): + if el.isnumeric(): + solution_id = int(el) + break + solution = Solution.objects.filter(id=solution_id).first() + if solution is not None and (solution.result == 'In queue' or solution.result == 'Testing'): + continue call("docker network rm " + line[0], shell=True) a = 5 a += 1