From 9a15b82997dc06042b84f1f9a7646bb50b62517a Mon Sep 17 00:00:00 2001 From: Sergei Trofimov Date: Fri, 24 Nov 2017 08:29:45 +0000 Subject: [PATCH] framework/job: do not extract workload results on failure Now that job output processing happens even on failure, this will result in workload result processing also being triggered. We should not try to extract failed workload results, so check the job status before attempting to do so. --- wa/framework/job.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/wa/framework/job.py b/wa/framework/job.py index da30c953..416b8535 100644 --- a/wa/framework/job.py +++ b/wa/framework/job.py @@ -82,11 +82,12 @@ class Job(object): def process_output(self, context): self.logger.info('Processing output for job {} [{}]'.format(self.id, self.iteration)) - with signal.wrap('WORKLOAD_RESULT_EXTRACTION', self, context): - self.workload.extract_results(context) - context.extract_results() - with signal.wrap('WORKLOAD_OUTPUT_UPDATE', self, context): - self.workload.update_output(context) + if self.status != Status.FAILED: + with signal.wrap('WORKLOAD_RESULT_EXTRACTION', self, context): + self.workload.extract_results(context) + context.extract_results() + with signal.wrap('WORKLOAD_OUTPUT_UPDATE', self, context): + self.workload.update_output(context) def teardown(self, context): self.logger.info('Tearing down job {} [{}]'.format(self.id, self.iteration))