Skip to content
Snippets Groups Projects
Commit 48dcbaf1 authored by Jeremy Auguste's avatar Jeremy Auguste
Browse files

Fixed minor issues and added a fake id counter for tests

parent e75aadbb
No related branches found
No related tags found
No related merge requests found
...@@ -4,11 +4,11 @@ ...@@ -4,11 +4,11 @@
import argparse import argparse
import yaml import yaml
import itertools import itertools
import subprocess
import logging import logging
from collections import deque from collections import deque
from . import oargen import oargen
def argparser(): def argparser():
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
...@@ -48,7 +48,6 @@ def argparser(): ...@@ -48,7 +48,6 @@ def argparser():
return args return args
def load_variables(yaml_variables): def load_variables(yaml_variables):
variable_names = [] variable_names = []
variables = [] variables = []
...@@ -123,6 +122,7 @@ def main(): ...@@ -123,6 +122,7 @@ def main():
jobs = load_jobs(fin, args) jobs = load_jobs(fin, args)
anteriors = deque() anteriors = deque()
fake_id_counter = 0
for job_name, job in jobs: for job_name, job in jobs:
if len(anteriors) < args.max_jobs: if len(anteriors) < args.max_jobs:
anterior = None anterior = None
...@@ -130,7 +130,7 @@ def main(): ...@@ -130,7 +130,7 @@ def main():
anterior = anteriors.pop() anterior = anteriors.pop()
oar_command = oargen.prepare_oarsub(args.gpu, args.host, args.core, args.time, oar_command = oargen.prepare_oarsub(args.gpu, args.host, args.core, args.time,
command=job, command_is_string=True, command=job,
name=job_name, besteffort=args.besteffort, name=job_name, besteffort=args.besteffort,
checkpoint=args.checkpoint, anterior=anterior) checkpoint=args.checkpoint, anterior=anterior)
...@@ -142,7 +142,12 @@ def main(): ...@@ -142,7 +142,12 @@ def main():
logging.warning("Job '{}' seems to have failed to launch...".format(job_name)) logging.warning("Job '{}' seems to have failed to launch...".format(job_name))
else: else:
anteriors.appendleft(job_id) anteriors.appendleft(job_id)
elif args.run:
logging.warning("Job '{}' didn't return anything...".format(job_name))
else:
fake_id = f"FAKE_ID_{fake_id_counter}"
fake_id_counter += 1
anteriors.appendleft(fake_id)
if __name__ == '__main__': if __name__ == '__main__':
......
...@@ -43,8 +43,7 @@ def prepare_oarsub(gpu, host, core, time, ...@@ -43,8 +43,7 @@ def prepare_oarsub(gpu, host, core, time,
command=None, argument=None, command=None, argument=None,
interactive=False, interactive=False,
name=None, besteffort=False, name=None, besteffort=False,
checkpoint=None, anterior=None, checkpoint=None, anterior=None):
command_is_string=False):
oar_cmd = ["oarsub"] oar_cmd = ["oarsub"]
oar_cmd.append("-p") oar_cmd.append("-p")
properties = "" properties = ""
...@@ -85,11 +84,13 @@ def prepare_oarsub(gpu, host, core, time, ...@@ -85,11 +84,13 @@ def prepare_oarsub(gpu, host, core, time,
if interactive: if interactive:
oar_cmd.append('-I') oar_cmd.append('-I')
else: else:
job_command = command if command_is_string else " ".join(command) job_command = command if isinstance(command, str) else " ".join(command)
oar_cmd.append(" ".join(job_command)) oar_cmd.append(job_command)
return oar_cmd
def run_oarsub(command, print_cmd=False, fake_run=False, return_output=False): def run_oarsub(command, print_cmd=False, fake_run=False, return_output=False):
if print_cmd:
print(subprocess.list2cmdline(command)) print(subprocess.list2cmdline(command))
if fake_run: if fake_run:
return None return None
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment