def get_jobs_by_label(self, label, name, job_states): """ :param label: the label value of the job :param name: the name of the job :param job_states: the job status :type label: str :type name: str :type job_states: dict :rtype: Response """ request = job.QueryRequest( respoolID=peloton.ResourcePoolID(value=self.respool_id), spec=job.QuerySpec( pagination=query.PaginationSpec(offset=0, limit=100), labels=[ peloton.Label(key="cluster_name", value=label), peloton.Label(key="module_name", value=name), ], jobStates=job_states, ), ) try: records = self.client.job_svc.Query( request, metadata=self.client.jobmgr_metadata, timeout=default_timeout, ).records ids = [record.id.value for record in records] return ids except Exception as e: print_fail("Exception calling Get job :%s" % str(e)) raise
def query_by_spec(respool_id=None, spec=None): client = Client() request = job_pb2.QueryRequest(respoolID=respool_id, spec=spec, summaryOnly=True) resp = client.job_svc.Query(request, metadata=client.jobmgr_metadata, timeout=10) return resp
def query_jobs(): """ Query all batch jobs` """ client = Client() request = job.QueryRequest(summaryOnly=True) resp = client.job_svc.Query(request, metadata=client.jobmgr_metadata, timeout=10) jobs = [] for j in resp.results: j = Job(job_id=j.id.value) jobs.append(j) return jobs