def res(**kwargs): r = PKDict(**kwargs) if self.db.canceledAfterSecs is not None: r.canceledAfterSecs = self.db.canceledAfterSecs if self.db.error: r.error = self.db.error if self.db.alert: r.alert = self.db.alert if self.db.isParallel: r.update(self.db.parallelStatus) r.computeJobHash = self.db.computeJobHash r.computeJobSerial = self.db.computeJobSerial r.elapsedTime = self.elapsed_time() if self._is_running_pending(): c = req.content r.update( nextRequestSeconds=self.db.nextRequestSeconds, nextRequest=PKDict( computeJobHash=self.db.computeJobHash, computeJobSerial=self.db.computeJobSerial, computeJobStart=self.db.computeJobStart, report=c.analysisModel, simulationId=self.db.simulationId, simulationType=self.db.simulationType, ), ) return r
def parse_frame_id(frame_id): """Parse the frame_id and return it along with self Args: frame_id (str): values separated by "*" Returns: PKDict: frame_args SimDataBase: sim_data object for this simulationType """ v = frame_id.split(_FRAME_ID_SEP) res = PKDict(zip(_FRAME_ID_KEYS, v[:len(_FRAME_ID_KEYS)])) res.frameIndex = int(res.frameIndex) res.computeJobSerial = int(res.computeJobSerial) s = get_class(res.simulationType) s.frameReport = s.parse_model(res) s.simulationId = s.parse_sid(res) #TODO(robnagler) validate these res.update(zip(s._frame_id_fields(res), v[len(_FRAME_ID_KEYS):])) return res, s
def res(**kwargs): r = PKDict(**kwargs) if self.db.error: r.error = self.db.error if self.db.isParallel: r.update(self.db.parallelStatus) r.computeJobHash = self.db.computeJobHash r.computeJobSerial = self.db.computeJobSerial r.elapsedTime = r.lastUpdateTime - self.db.computeJobStart if self.db.status in _RUNNING_PENDING: c = req.content r.update( nextRequestSeconds=self.db.nextRequestSeconds, nextRequest=PKDict( computeJobHash=self.db.computeJobHash, computeJobSerial=self.db.computeJobSerial, computeJobStart=self.db.computeJobStart, report=c.analysisModel, simulationId=self.db.simulationId, simulationType=self.db.simulationType, ), ) return r