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
         kvstore_key = common.portal_job_part_kvstore_key(
             self._portal_name, job_part.job_id, partition_id)
         data = text_format.MessageToString(job_part)
         self._kvstore.set_data(kvstore_key, data)
     self._job_part_map[partition_id] = job_part
Ejemplo n.º 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:
         kvstore_key = common.portal_job_part_kvstore_key(
             self._portal_name, job_id, partition_id)
         data = self._kvstore.get_data(kvstore_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]