outputs = openExperimentOutputs(layout, measurements, resultsBuilder, closer);
DAGNode<JobGraph.Node,JobGraph.Edge> jobGraph;
try {
jobGraph = makeJobGraph(experiments);
} catch (RecommenderConfigurationException ex) {
throw new TaskExecutionException("Recommender configuration error", ex);
}
if (taskGraphFile != null) {
logger.info("writing task graph to {}", taskGraphFile);
JobGraph.writeGraphDescription(jobGraph, taskGraphFile);
}
registerTaskListener(jobGraph);
// tell all metrics to get started
runEvaluations(jobGraph);
} catch (Throwable th) {
throw closer.rethrow(th, TaskExecutionException.class, InterruptedException.class);
} finally {
closer.close();
}
logger.info("evaluation {} completed", getName());
return resultsBuilder.build();
} catch (IOException e) {
throw new TaskExecutionException("I/O error", e);
} finally {
experiments = null;
measurements = null;
outputs = null;
layout = null;