Example #1
0
 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
Example #2
0
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
Example #3
0
 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