worker

package
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 28, 2017 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Overview

Package worker is a generated protocol buffer package.

It is generated from these files:

server/pkg/worker/worker_service.proto

It has these top-level messages:

ProcessRequest
ProcessResponse

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterWorkerServer

func RegisterWorkerServer(s *grpc.Server, srv WorkerServer)

Types

type APIServer

type APIServer struct {
	sync.Mutex
	// contains filtered or unexported fields
}

APIServer implements the worker API

func NewJobAPIServer

func NewJobAPIServer(pachClient *client.APIClient, jobInfo *pps.JobInfo, workerName string) *APIServer

NewJobAPIServer creates an APIServer for a given pipeline

func NewPipelineAPIServer

func NewPipelineAPIServer(pachClient *client.APIClient, pipelineInfo *pps.PipelineInfo, workerName string) *APIServer

NewPipelineAPIServer creates an APIServer for a given pipeline

func (*APIServer) HashDatum

func (a *APIServer) HashDatum(data []*pfs.FileInfo) (string, error)

HashDatum computes and returns the hash of a datum + pipeline.

func (*APIServer) Process

func (a *APIServer) Process(ctx context.Context, req *ProcessRequest) (resp *ProcessResponse, retErr error)

Process processes a datum.

type Input

type Input struct {
	Name string
	Lazy bool
}

Input is a generic input object that can either be a pipeline input or a job input. It only defines the attributes that the worker cares about.

type ProcessRequest

type ProcessRequest struct {
	// ID of the job for which we're processing 'data'. This is attached to logs
	// generated while processing 'data', so that they can be searched.
	JobID string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	// The datum to process
	Data []*pfs.FileInfo `protobuf:"bytes,1,rep,name=data" json:"data,omitempty"`
}

func (*ProcessRequest) Descriptor

func (*ProcessRequest) Descriptor() ([]byte, []int)

func (*ProcessRequest) GetData

func (m *ProcessRequest) GetData() []*pfs.FileInfo

func (*ProcessRequest) GetJobID

func (m *ProcessRequest) GetJobID() string

func (*ProcessRequest) ProtoMessage

func (*ProcessRequest) ProtoMessage()

func (*ProcessRequest) Reset

func (m *ProcessRequest) Reset()

func (*ProcessRequest) String

func (m *ProcessRequest) String() string

type ProcessResponse

type ProcessResponse struct {
	Tag *pfs.Tag `protobuf:"bytes,1,opt,name=tag" json:"tag,omitempty"`
	Log string   `protobuf:"bytes,2,opt,name=log,proto3" json:"log,omitempty"`
}

ProcessResponse contains either a tag, if the processing was successful, or a log that's the combination of stdout+stderr, if the processing was unsuccessful. TODO: allow for capturing logs even if processing was successful.

func (*ProcessResponse) Descriptor

func (*ProcessResponse) Descriptor() ([]byte, []int)

func (*ProcessResponse) GetLog

func (m *ProcessResponse) GetLog() string

func (*ProcessResponse) GetTag

func (m *ProcessResponse) GetTag() *pfs.Tag

func (*ProcessResponse) ProtoMessage

func (*ProcessResponse) ProtoMessage()

func (*ProcessResponse) Reset

func (m *ProcessResponse) Reset()

func (*ProcessResponse) String

func (m *ProcessResponse) String() string

type WorkerClient

type WorkerClient interface {
	Process(ctx context.Context, in *ProcessRequest, opts ...grpc.CallOption) (*ProcessResponse, error)
}

func NewWorkerClient

func NewWorkerClient(cc *grpc.ClientConn) WorkerClient

type WorkerServer

type WorkerServer interface {
	Process(context.Context, *ProcessRequest) (*ProcessResponse, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL