solution_id

This commit is contained in:
Egor Matveev 2022-05-07 21:49:20 +03:00
parent ced9d12914
commit 95c5fef9ed

View File

@ -10,6 +10,7 @@ class Command(LoopWorker):
def go(self): def go(self):
result = run("docker ps", universal_newlines=True, stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=True) result = run("docker ps", universal_newlines=True, stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=True)
lines = result.stdout.split('\n')[1:] lines = result.stdout.split('\n')[1:]
solution_id = None
for line in lines: for line in lines:
line = [i for i in line.split() if i] line = [i for i in line.split() if i]
if line and line[-1].startswith('solution_'): if line and line[-1].startswith('solution_'):
@ -17,10 +18,12 @@ class Command(LoopWorker):
if el.isnumeric(): if el.isnumeric():
solution_id = int(el) solution_id = int(el)
break break
solution = Solution.objects.filter(id=solution_id).first() if solution_id:
if solution is not None and (solution.result == 'In queue' or solution.result == 'Testing'): solution = Solution.objects.filter(id=solution_id).first()
continue if solution is not None and (solution.result == 'In queue' or solution.result == 'Testing'):
continue
call(f"docker rm --force {line[-1]}", shell=True) call(f"docker rm --force {line[-1]}", shell=True)
solution_id = None
result = run("docker image ls", universal_newlines=True, stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=True) result = run("docker image ls", universal_newlines=True, stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=True)
lines = result.stdout.split('\n')[1:] lines = result.stdout.split('\n')[1:]
for line in lines: for line in lines:
@ -30,10 +33,12 @@ class Command(LoopWorker):
if el.isnumeric(): if el.isnumeric():
solution_id = int(el) solution_id = int(el)
break break
solution = Solution.objects.filter(id=solution_id).first() if solution_id:
if solution is not None and (solution.result == 'In queue' or solution.result == 'Testing'): solution = Solution.objects.filter(id=solution_id).first()
continue if solution is not None and (solution.result == 'In queue' or solution.result == 'Testing'):
continue
call("docker image rm " + line[0], shell=True) call("docker image rm " + line[0], shell=True)
solution_id = None
result = run("docker network ls", universal_newlines=True, stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=True) result = run("docker network ls", universal_newlines=True, stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=True)
lines = result.stdout.split('\n')[1:] lines = result.stdout.split('\n')[1:]
for line in lines: for line in lines:
@ -43,9 +48,10 @@ class Command(LoopWorker):
if el.isnumeric(): if el.isnumeric():
solution_id = int(el) solution_id = int(el)
break break
solution = Solution.objects.filter(id=solution_id).first() if solution_id:
if solution is not None and (solution.result == 'In queue' or solution.result == 'Testing'): solution = Solution.objects.filter(id=solution_id).first()
continue if solution is not None and (solution.result == 'In queue' or solution.result == 'Testing'):
continue
call("docker network rm " + line[0], shell=True) call("docker network rm " + line[0], shell=True)
a = 5 a = 5
a += 1 a += 1