Exemplo n.º 1
0
    def get_job_logs(self, job_id, data_filters=None, datum=None, follow=None,
                     tail=None):
        """
        Gets logs for a job. Yields `LogMessage` objects.

        Params:

        * job_id: A string representing a job to get logs of.
        * data_filters: An optional iterable of strings specifying the names
        of input files from which we want processing logs. This may contain
        multiple files, to query pipelines that contain multiple inputs. Each
        filter may be an absolute path of a file within a pps repo, or it may
        be a hash for that file (to search for files at specific versions.)
        * datum: An optional `Datum` object.
        * follow: An optional bool specifying whether logs should continue to
        stream forever.
        * tail: An optional int. If nonzero, the number of lines from the end
        of the logs to return.  Note: tail applies per container, so you will
        get tail * <number of pods> total lines back.
        """

        req = proto.GetLogsRequest(
            job=proto.Job(id=job_id), data_filters=data_filters, datum=datum,
            follow=follow, tail=tail,
        )
        return self.stub.GetLogs(req, metadata=self.metadata)
Exemplo n.º 2
0
    def stop_job(self, job_id):
        """
        Stops a job by its ID.

        Params:
        * job_id: The ID of the job to stop.
        """

        req = proto.StopJobRequest(job=proto.Job(id=job_id))
        self.stub.StopJob(req, metadata=self.metadata)
Exemplo n.º 3
0
    def delete_job(self, job_id):
        """
        Deletes a job by its ID.

        Params:
        * job_id: The ID of the job to delete.
        """

        req = proto.DeleteJobRequest(job=proto.Job(id=job_id))
        self.stub.DeleteJob(req, metadata=self.metadata)
Exemplo n.º 4
0
    def restart_datum(self, job_id, data_filters=None):
        """
        Restarts a datum.

        Params:
        * job_id: The ID of the job.
        * data_filters: An optional iterable of strings.
        """

        req = proto.RestartDatumRequest(job=proto.Job(id=job_id), data_filters=data_filters)
        self.stub.RestartDatum(req, metadata=self.metadata)
Exemplo n.º 5
0
    def inspect_datum(self, job_id, datum_id):
        """
        Inspects a datum. Returns a `DatumInfo` object.

        Params:
        * job_id: The ID of the job.
        * datum_id: The ID of the datum.
        """

        req = proto.InspectDatumRequest(datum=proto.Datum(id=datum_id, job=proto.Job(id=job_id)))
        return self.stub.InspectDatum(req, metadata=self.metadata)
Exemplo n.º 6
0
    def list_datum(self, job_id, page_size=None, page=None):
        """
        Lists datums. Yields `ListDatumStreamResponse` objects.

        Params:
        * job_id: The ID of the job.
        * page_size: An optional int specifying the size of the page.
        * page: An optional int specifying the page number.
        """

        req = proto.ListDatumRequest(job=proto.Job(id=job_id), page_size=page_size, page=page)
        return self.stub.ListDatumStream(req, metadata=self.metadata)
Exemplo n.º 7
0
    def get_logs(self, pipeline_name=None, job_id=None, data_filters=tuple(), master=False):
        pipeline = proto.Pipeline(name=pipeline_name) if pipeline_name else None
        job = proto.Job(id=job_id) if job_id else None

        if pipeline is None and job is None:
            raise ValueError("One of 'pipeline_name' or 'job_id' must be specified")

        req = proto.GetLogsRequest(
            pipeline=pipeline, job=job, data_filters=data_filters,
            master=master
        )
        return list(self.stub.GetLogs(req, metadata=self.metadata))
Exemplo n.º 8
0
    def inspect_job(self, job_id, block_state=None, output_commit=None):
        """
        Inspects a job with a given ID. Returns a `JobInfo`.

        Params:
        * job_id: The ID of the job to inspect.
        * block_state: If true, block until the job completes.
        * output_commit: An optional tuple, string, or `Commit` object
        representing an output commit to filter on.
        """

        output_commit = commit_from(output_commit) if output_commit is not None else None
        req = proto.InspectJobRequest(job=proto.Job(id=job_id), block_state=block_state, output_commit=output_commit)
        return self.stub.InspectJob(req, metadata=self.metadata)
Exemplo n.º 9
0
 def restart_datum(self, job_id, data_filters=tuple()):
     req = proto.RestartDatumRequest(
         job=proto.Job(id=job_id, data_filters=data_filters))
     self.stub.RestartDatum(req, metadata=self.metadata)
Exemplo n.º 10
0
 def list_datum(self, job_id):
     req = proto.ListDatumRequest(job=proto.Job(id=job_id))
     return self.stub.ListDatum(req, metadata=self.metadata)
Exemplo n.º 11
0
 def inspect_datum(self, job_id, datum_id):
     req = proto.InspectDatumRequest(
         datum=proto.Datum(id=datum_id, job=proto.Job(id=job_id)))
     return self.stub.InspectDatum(req, metadata=self.metadata)
Exemplo n.º 12
0
 def stop_job(self, job_id):
     req = proto.StopJobRequest(job=proto.Job(id=job_id))
     self.stub.StopJob(req, metadata=self.metadata)
Exemplo n.º 13
0
 def delete_job(self, job_id):
     req = proto.DeleteJobRequest(job=proto.Job(id=job_id))
     self.stub.DeleteJob(req, metadata=self.metadata)
Exemplo n.º 14
0
 def inspect_job(self, job_id, block_state=False):
     req = proto.InspectJobRequest(job=proto.Job(id=job_id),
                                   block_state=block_state)
     return self.stub.InspectJob(req, metadata=self.metadata)