コード例 #1
0
 def _update_job_part(self, job_part):
     partition_id = job_part.partition_id
     if partition_id not in self._job_part_map or \
             self._job_part_map[partition_id] != job_part:
         self._job_part_map[partition_id] = None
         etcd_key = common.portal_job_part_etcd_key(self._portal_name,
                                                    job_part.job_id,
                                                    partition_id)
         data = text_format.MessageToString(job_part)
         self._etcd.set_data(etcd_key, data)
     self._job_part_map[partition_id] = job_part
コード例 #2
0
 def _sync_job_part(self, job_id, partition_id):
     if partition_id not in self._job_part_map or \
             self._job_part_map[partition_id] is None or \
             self._job_part_map[partition_id].job_id != job_id:
         etcd_key = common.portal_job_part_etcd_key(self._portal_name,
                                                    job_id, partition_id)
         data = self._etcd.get_data(etcd_key)
         if data is None:
             self._job_part_map[partition_id] = dp_pb.PortalJobPart(
                 job_id=job_id, rank_id=-1, partition_id=partition_id)
         else:
             self._job_part_map[partition_id] = \
                 text_format.Parse(data, dp_pb.PortalJobPart())
     return self._job_part_map[partition_id]