diff --git a/runhelper/db.py b/runhelper/db.py index 4ffea6f2267a7d469126e0318089ae3a69355806..8db4d769aab118f7ddd428e434059f1b543def73 100644 --- a/runhelper/db.py +++ b/runhelper/db.py @@ -29,12 +29,13 @@ class Database(object): 'cpuCompilerConfig': getCompilerConfig(), } - def save(self, params, result, env=None): + def save(self, params, result, env=None, **kwargs): documentDict = { 'params': params, 'result': result, 'env': env if env else self.getEnv(), } + documentDict.update(kwargs) document = Database.SimulationResult(documentDict, backend=self.backend) document.save() self.backend.commit() diff --git a/runhelper/parameterstudy.py b/runhelper/parameterstudy.py index ace2916636064d539cf4532d6db5ad0711c9f9d8..828a0ad0034529d4df687a1237cdde798de0b63f 100644 --- a/runhelper/parameterstudy.py +++ b/runhelper/parameterstudy.py @@ -68,10 +68,11 @@ class ParameterStudy(object): def result(self, receivedJsonData): clientName = receivedJsonData['clientName'] - self.finishedRuns.append(self.currentlyRunning[clientName]) + run = self.currentlyRunning[clientName] + self.finishedRuns.append(run) del self.currentlyRunning[clientName] d = receivedJsonData - self.parameterStudy.db.save(d['params'], d['result'], d['env']) + self.parameterStudy.db.save(run.parameterDict, d['result'], d['env'], changedParams=d['changedParams']) return {} def do_POST(self): @@ -115,6 +116,7 @@ class ParameterStudy(object): result = self.runFunction(**scenario['params']) answer = {'params': scenario['params'], + 'changedParams': parameterUpdate, 'result': result, 'env': Database.getEnv(), 'clientName': clientName}