1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2025-01-18 12:06:08 +00:00

Job output dir handling.

This commit is contained in:
Sergei Trofimov 2017-03-09 16:26:50 +00:00
parent 011fd684bd
commit 547ae1c10e
3 changed files with 15 additions and 1 deletions

View File

@ -927,7 +927,11 @@ class JobSpec(Configuration):
self.runtime_parameters = target_manager.merge_runtime_parameters(runtime_parameters)
def finalize(self):
self.id = "-".join([source.config['id'] for source in self._sources[1:]]) # ignore first id, "global"
self.id = "-".join([source.config['id']
for source in self._sources[1:]]) # ignore first id, "global"
if self.label is None:
self.label = self.workload_name
# This is used to construct the list of Jobs WA will run

View File

@ -38,6 +38,10 @@ class Job(object):
def id(self):
return self.spec.id
@property
def output_name(self):
return '{}-{}-{}'.format(self.id, self.spec.label, self.iteration)
def __init__(self, spec, iteration, context):
self.logger = logging.getLogger('job')
self.spec = spec

View File

@ -104,6 +104,11 @@ class ExecutionContext(object):
return True
return self.current_job.spec.id != self.next_job.spec.id
@property
def output_directory(self):
if self.current_job:
return os.path.join(self.output.basepath, self.current_job.output_name)
return self.output.basepath
def __init__(self, cm, tm, output):
self.logger = logging.getLogger('context')
@ -133,6 +138,7 @@ class ExecutionContext(object):
if not self.job_queue:
raise RuntimeError('No jobs to run')
self.current_job = self.job_queue.pop(0)
os.makedirs(self.output_directory)
return self.current_job
def end_job(self):