def reload(self): super(RunDatabaseOutput, self).reload() info_pod = self._db_infofile state_pod = self._db_statefile if not info_pod or not state_pod: msg = '"{}" does not appear to be a valid WA Database Output.' raise ValueError(msg.format(self.oid)) self.info = RunInfo.from_pod(info_pod) self.state = RunState.from_pod(state_pod) self._combined_config = CombinedConfig.from_pod( {'run_config': self._db_run_config}) self.target_info = TargetInfo.from_pod(self._db_targetfile) self.job_specs = self.read_job_specs() for job_state in self._db_statefile['jobs']: job = JobDatabaseOutput(self.conn, job_state.get('oid'), job_state['id'], job_state['label'], job_state['iteration'], job_state['retries']) job.status = job_state['status'] job.spec = self.get_job_spec(job.id) if job.spec is None: logger.warning('Could not find spec for job {}'.format(job.id)) self.jobs.append(job)
def reload(self): super(RunOutput, self).reload() self.info = RunInfo.from_pod(read_pod(self.infofile)) self.state = RunState.from_pod(read_pod(self.statefile)) if os.path.isfile(self.configfile): self._combined_config = CombinedConfig.from_pod(read_pod(self.configfile)) if os.path.isfile(self.targetfile): self.target_info = TargetInfo.from_pod(read_pod(self.targetfile)) if os.path.isfile(self.jobsfile): self.job_specs = self.read_job_specs() for job_state in self.state.jobs.values(): job_path = os.path.join(self.basepath, job_state.output_name) job = JobOutput(job_path, job_state.id, job_state.label, job_state.iteration, job_state.retries) job.status = job_state.status job.spec = self.get_job_spec(job.id) if job.spec is None: logger.warning('Could not find spec for job {}'.format(job.id)) self.jobs.append(job)