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