jobservices

package
v2.48.0-RC2 Latest Latest
Warning

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

Go to latest
Published: May 25, 2023 License: Apache-2.0, BSD-3-Clause, MIT Imports: 23 Imported by: 0

Documentation

Overview

Package jobservices handles services necessary WRT handling jobs from SDKs. Nominally this is the entry point for most users, and a job's external interactions outside of pipeline execution.

This includes handling receiving, staging, and provisioning artifacts, and orchestrating external workers, such as for loopback mode.

Execution of jobs is abstracted away to an execute function specified at server construction time.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Job

type Job struct {
	Pipeline *pipepb.Pipeline

	// Context used to terminate this job.
	RootCtx  context.Context
	CancelFn context.CancelFunc
	// contains filtered or unexported fields
}

Job is an interface to the job services for executing pipelines. It allows the executor to communicate status, messages, and metrics back to callers of the Job Management API.

func (*Job) AddMetricShortIDs added in v2.48.0

func (j *Job) AddMetricShortIDs(ids *fnpb.MonitoringInfosMetadataResponse)

AddMetricShortIDs populates metric short IDs with their metadata.

func (*Job) ContributeFinalMetrics added in v2.48.0

func (j *Job) ContributeFinalMetrics(payloads *fnpb.ProcessBundleResponse) []string

ContributeFinalMetrics returns any unknown monitoring short ids.

func (*Job) ContributeTentativeMetrics added in v2.48.0

func (j *Job) ContributeTentativeMetrics(payloads *fnpb.ProcessBundleProgressResponse) (int64, []string)

ContributeTentativeMetrics returns the datachannel read index, and any unknown monitoring short ids.

func (*Job) Done

func (j *Job) Done()

Done indicates that the job completed successfully.

func (*Job) Failed

func (j *Job) Failed()

Failed indicates that the job completed unsuccessfully.

func (*Job) LogValue

func (j *Job) LogValue() slog.Value

func (*Job) Running

func (j *Job) Running()

Running indicates that the job is executing.

func (*Job) SendMsg

func (j *Job) SendMsg(msg string)

func (*Job) Start

func (j *Job) Start()

Start indicates that the job is preparing to execute.

func (*Job) String

func (j *Job) String() string

type Server

type Server struct {
	jobpb.UnimplementedJobServiceServer
	jobpb.UnimplementedArtifactStagingServiceServer
	// contains filtered or unexported fields
}

func NewServer

func NewServer(port int, execute func(*Job)) *Server

NewServer acquires the indicated port.

func (*Server) Endpoint

func (s *Server) Endpoint() string

func (*Server) GetJobMetrics

GetJobMetrics Fetch metrics for a given job.

func (*Server) GetMessageStream

func (s *Server) GetMessageStream(req *jobpb.JobMessagesRequest, stream jobpb.JobService_GetMessageStreamServer) error

GetMessageStream subscribes to a stream of state changes and messages from the job

func (*Server) Prepare

func (*Server) Run

func (*Server) Serve

func (s *Server) Serve()

Serve serves on the started listener. Blocks.

func (*Server) Stop

func (s *Server) Stop()

Stop the GRPC server.

Jump to

Keyboard shortcuts

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