Documentation

Overview

Package internal contains internal structs used by the tasks and the engine.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FileDescriptorSet

func FileDescriptorSet() *descriptor.FileDescriptorSet

FileDescriptorSet returns a descriptor set for this proto package, which includes all defined services, and all transitive dependencies.

Will not return nil.

Do NOT modify the returned descriptor.

func RegisterAdminServer

func RegisterAdminServer(s prpc.Registrar, srv AdminServer)

func ToPublicTrigger

func ToPublicTrigger(t *Trigger) *scheduler.Trigger

ToPublicTrigger converts Trigger to public *scheduler.Trigger.

Types

type AdminClient

type AdminClient interface {
	// GetDebugJobState returns detailed report about the job state.
	//
	// Useful when debugging internal issues.
	GetDebugJobState(ctx context.Context, in *v1.JobRef, opts ...grpc.CallOption) (*DebugJobState, error)
}

AdminClient is the client API for Admin service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewAdminClient

func NewAdminClient(cc grpc.ClientConnInterface) AdminClient

func NewAdminPRPCClient

func NewAdminPRPCClient(client *prpc.Client) AdminClient

type AdminServer

type AdminServer interface {
	// GetDebugJobState returns detailed report about the job state.
	//
	// Useful when debugging internal issues.
	GetDebugJobState(context.Context, *v1.JobRef) (*DebugJobState, error)
}

AdminServer is the server API for Admin service.

type CronTickTask

type CronTickTask struct {
	JobId                string   `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	TickNonce            int64    `protobuf:"varint,2,opt,name=tick_nonce,json=tickNonce,proto3" json:"tick_nonce,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

CronTickTask is scheduled based on the job's cron schedule.

It is enqueued transactionally when the job changes state (e.g. the job appears for the first time or its schedule changes) or from previous cron ticks.

Queue: "crons".

func (*CronTickTask) Descriptor

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

func (*CronTickTask) GetJobId

func (m *CronTickTask) GetJobId() string

func (*CronTickTask) GetTickNonce

func (m *CronTickTask) GetTickNonce() int64

func (*CronTickTask) ProtoMessage

func (*CronTickTask) ProtoMessage()

func (*CronTickTask) Reset

func (m *CronTickTask) Reset()

func (*CronTickTask) String

func (m *CronTickTask) String() string

func (*CronTickTask) XXX_DiscardUnknown

func (m *CronTickTask) XXX_DiscardUnknown()

func (*CronTickTask) XXX_Marshal

func (m *CronTickTask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CronTickTask) XXX_Merge

func (m *CronTickTask) XXX_Merge(src proto.Message)

func (*CronTickTask) XXX_Size

func (m *CronTickTask) XXX_Size() int

func (*CronTickTask) XXX_Unmarshal

func (m *CronTickTask) XXX_Unmarshal(b []byte) error

type DebugJobState

type DebugJobState struct {
	Enabled              bool                     `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Paused               bool                     `protobuf:"varint,2,opt,name=paused,proto3" json:"paused,omitempty"`
	LastTriage           *timestamp.Timestamp     `protobuf:"bytes,3,opt,name=last_triage,json=lastTriage,proto3" json:"last_triage,omitempty"`
	CronState            *DebugJobState_CronState `protobuf:"bytes,4,opt,name=cron_state,json=cronState,proto3" json:"cron_state,omitempty"`
	ManagerState         *DebugManagerState       `protobuf:"bytes,9,opt,name=manager_state,json=managerState,proto3" json:"manager_state,omitempty"`
	ActiveInvocations    []int64                  `protobuf:"varint,5,rep,packed,name=active_invocations,json=activeInvocations,proto3" json:"active_invocations,omitempty"`
	FinishedInvocations  []*FinishedInvocation    `protobuf:"bytes,6,rep,name=finished_invocations,json=finishedInvocations,proto3" json:"finished_invocations,omitempty"`
	RecentlyFinishedSet  []int64                  "" /* 128 byte string literal not displayed */
	PendingTriggersSet   []*Trigger               `protobuf:"bytes,8,rep,name=pending_triggers_set,json=pendingTriggersSet,proto3" json:"pending_triggers_set,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

DebugJobState loosely matches Job entity and associated data structures.

See the engine implementation for details.

Next tag: 10.

func (*DebugJobState) Descriptor

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

func (*DebugJobState) GetActiveInvocations

func (m *DebugJobState) GetActiveInvocations() []int64

func (*DebugJobState) GetCronState

func (m *DebugJobState) GetCronState() *DebugJobState_CronState

func (*DebugJobState) GetEnabled

func (m *DebugJobState) GetEnabled() bool

func (*DebugJobState) GetFinishedInvocations

func (m *DebugJobState) GetFinishedInvocations() []*FinishedInvocation

func (*DebugJobState) GetLastTriage

func (m *DebugJobState) GetLastTriage() *timestamp.Timestamp

func (*DebugJobState) GetManagerState

func (m *DebugJobState) GetManagerState() *DebugManagerState

func (*DebugJobState) GetPaused

func (m *DebugJobState) GetPaused() bool

func (*DebugJobState) GetPendingTriggersSet

func (m *DebugJobState) GetPendingTriggersSet() []*Trigger

func (*DebugJobState) GetRecentlyFinishedSet

func (m *DebugJobState) GetRecentlyFinishedSet() []int64

func (*DebugJobState) ProtoMessage

func (*DebugJobState) ProtoMessage()

func (*DebugJobState) Reset

func (m *DebugJobState) Reset()

func (*DebugJobState) String

func (m *DebugJobState) String() string

func (*DebugJobState) XXX_DiscardUnknown

func (m *DebugJobState) XXX_DiscardUnknown()

func (*DebugJobState) XXX_Marshal

func (m *DebugJobState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DebugJobState) XXX_Merge

func (m *DebugJobState) XXX_Merge(src proto.Message)

func (*DebugJobState) XXX_Size

func (m *DebugJobState) XXX_Size() int

func (*DebugJobState) XXX_Unmarshal

func (m *DebugJobState) XXX_Unmarshal(b []byte) error

type DebugJobState_CronState

type DebugJobState_CronState struct {
	Enabled              bool                 `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Generation           int64                `protobuf:"varint,2,opt,name=generation,proto3" json:"generation,omitempty"`
	LastRewind           *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_rewind,json=lastRewind,proto3" json:"last_rewind,omitempty"`
	LastTickWhen         *timestamp.Timestamp `protobuf:"bytes,4,opt,name=last_tick_when,json=lastTickWhen,proto3" json:"last_tick_when,omitempty"`
	LastTickNonce        int64                `protobuf:"varint,5,opt,name=last_tick_nonce,json=lastTickNonce,proto3" json:"last_tick_nonce,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (*DebugJobState_CronState) Descriptor

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

func (*DebugJobState_CronState) GetEnabled

func (m *DebugJobState_CronState) GetEnabled() bool

func (*DebugJobState_CronState) GetGeneration

func (m *DebugJobState_CronState) GetGeneration() int64

func (*DebugJobState_CronState) GetLastRewind

func (m *DebugJobState_CronState) GetLastRewind() *timestamp.Timestamp

func (*DebugJobState_CronState) GetLastTickNonce

func (m *DebugJobState_CronState) GetLastTickNonce() int64

func (*DebugJobState_CronState) GetLastTickWhen

func (m *DebugJobState_CronState) GetLastTickWhen() *timestamp.Timestamp

func (*DebugJobState_CronState) ProtoMessage

func (*DebugJobState_CronState) ProtoMessage()

func (*DebugJobState_CronState) Reset

func (m *DebugJobState_CronState) Reset()

func (*DebugJobState_CronState) String

func (m *DebugJobState_CronState) String() string

func (*DebugJobState_CronState) XXX_DiscardUnknown

func (m *DebugJobState_CronState) XXX_DiscardUnknown()

func (*DebugJobState_CronState) XXX_Marshal

func (m *DebugJobState_CronState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DebugJobState_CronState) XXX_Merge

func (m *DebugJobState_CronState) XXX_Merge(src proto.Message)

func (*DebugJobState_CronState) XXX_Size

func (m *DebugJobState_CronState) XXX_Size() int

func (*DebugJobState_CronState) XXX_Unmarshal

func (m *DebugJobState_CronState) XXX_Unmarshal(b []byte) error

type DebugManagerState

type DebugManagerState struct {
	Error                string         `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
	DebugLog             string         `protobuf:"bytes,2,opt,name=debug_log,json=debugLog,proto3" json:"debug_log,omitempty"`
	GitilesPoller        *pb.DebugState `protobuf:"bytes,3,opt,name=gitiles_poller,json=gitilesPoller,proto3" json:"gitiles_poller,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

DebugManagerState is whatever is reported by task.Manager.GetDebugState.

func (*DebugManagerState) Descriptor

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

func (*DebugManagerState) GetDebugLog

func (m *DebugManagerState) GetDebugLog() string

func (*DebugManagerState) GetError

func (m *DebugManagerState) GetError() string

func (*DebugManagerState) GetGitilesPoller

func (m *DebugManagerState) GetGitilesPoller() *pb.DebugState

func (*DebugManagerState) ProtoMessage

func (*DebugManagerState) ProtoMessage()

func (*DebugManagerState) Reset

func (m *DebugManagerState) Reset()

func (*DebugManagerState) String

func (m *DebugManagerState) String() string

func (*DebugManagerState) XXX_DiscardUnknown

func (m *DebugManagerState) XXX_DiscardUnknown()

func (*DebugManagerState) XXX_Marshal

func (m *DebugManagerState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DebugManagerState) XXX_Merge

func (m *DebugManagerState) XXX_Merge(src proto.Message)

func (*DebugManagerState) XXX_Size

func (m *DebugManagerState) XXX_Size() int

func (*DebugManagerState) XXX_Unmarshal

func (m *DebugManagerState) XXX_Unmarshal(b []byte) error

type DecoratedAdmin

type DecoratedAdmin struct {
	// Service is the service to decorate.
	Service AdminServer
	// Prelude is called for each method before forwarding the call to Service.
	// If Prelude returns an error, then the call is skipped and the error is
	// processed via the Postlude (if one is defined), or it is returned directly.
	Prelude func(ctx context.Context, methodName string, req proto.Message) (context.Context, error)
	// Postlude is called for each method after Service has processed the call, or
	// after the Prelude has returned an error. This takes the the Service's
	// response proto (which may be nil) and/or any error. The decorated
	// service will return the response (possibly mutated) and error that Postlude
	// returns.
	Postlude func(ctx context.Context, methodName string, rsp proto.Message, err error) error
}

func (*DecoratedAdmin) GetDebugJobState

func (s *DecoratedAdmin) GetDebugJobState(ctx context.Context, req *v1.JobRef) (rsp *DebugJobState, err error)

type EnqueueTriggersTask

type EnqueueTriggersTask struct {
	JobId                string     `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	Triggers             []*Trigger `protobuf:"bytes,2,rep,name=triggers,proto3" json:"triggers,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

EnqueueTriggersTask adds given triggers to a job's pending triggers set.

Enqueued non-transactionally (from FanOutTriggersTask) and transactionally (when emitting single trigger from a cron).

Queue: "triggers".

func (*EnqueueTriggersTask) Descriptor

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

func (*EnqueueTriggersTask) GetJobId

func (m *EnqueueTriggersTask) GetJobId() string

func (*EnqueueTriggersTask) GetTriggers

func (m *EnqueueTriggersTask) GetTriggers() []*Trigger

func (*EnqueueTriggersTask) ProtoMessage

func (*EnqueueTriggersTask) ProtoMessage()

func (*EnqueueTriggersTask) Reset

func (m *EnqueueTriggersTask) Reset()

func (*EnqueueTriggersTask) String

func (m *EnqueueTriggersTask) String() string

func (*EnqueueTriggersTask) XXX_DiscardUnknown

func (m *EnqueueTriggersTask) XXX_DiscardUnknown()

func (*EnqueueTriggersTask) XXX_Marshal

func (m *EnqueueTriggersTask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnqueueTriggersTask) XXX_Merge

func (m *EnqueueTriggersTask) XXX_Merge(src proto.Message)

func (*EnqueueTriggersTask) XXX_Size

func (m *EnqueueTriggersTask) XXX_Size() int

func (*EnqueueTriggersTask) XXX_Unmarshal

func (m *EnqueueTriggersTask) XXX_Unmarshal(b []byte) error

type FanOutTriggersTask

type FanOutTriggersTask struct {
	JobIds               []string   `protobuf:"bytes,1,rep,name=job_ids,json=jobIds,proto3" json:"job_ids,omitempty"`
	Triggers             []*Trigger `protobuf:"bytes,2,rep,name=triggers,proto3" json:"triggers,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

FanOutTriggersTask is a batch task that emits a bunch of triggers.

It is enqueued transactionally. It fans out into many EnqueueTriggersTask, one per job ID.

Queue: "triggers".

func (*FanOutTriggersTask) Descriptor

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

func (*FanOutTriggersTask) GetJobIds

func (m *FanOutTriggersTask) GetJobIds() []string

func (*FanOutTriggersTask) GetTriggers

func (m *FanOutTriggersTask) GetTriggers() []*Trigger

func (*FanOutTriggersTask) ProtoMessage

func (*FanOutTriggersTask) ProtoMessage()

func (*FanOutTriggersTask) Reset

func (m *FanOutTriggersTask) Reset()

func (*FanOutTriggersTask) String

func (m *FanOutTriggersTask) String() string

func (*FanOutTriggersTask) XXX_DiscardUnknown

func (m *FanOutTriggersTask) XXX_DiscardUnknown()

func (*FanOutTriggersTask) XXX_Marshal

func (m *FanOutTriggersTask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FanOutTriggersTask) XXX_Merge

func (m *FanOutTriggersTask) XXX_Merge(src proto.Message)

func (*FanOutTriggersTask) XXX_Size

func (m *FanOutTriggersTask) XXX_Size() int

func (*FanOutTriggersTask) XXX_Unmarshal

func (m *FanOutTriggersTask) XXX_Unmarshal(b []byte) error

type FinishedInvocation

type FinishedInvocation struct {
	InvocationId         int64                `protobuf:"varint,1,opt,name=invocation_id,json=invocationId,proto3" json:"invocation_id,omitempty"`
	Finished             *timestamp.Timestamp `protobuf:"bytes,2,opt,name=finished,proto3" json:"finished,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

FinishedInvocation represents a recently finished invocation of a job.

It is stored as part of Job entity inside FinishedInvocationsRaw field.

func (*FinishedInvocation) Descriptor

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

func (*FinishedInvocation) GetFinished

func (m *FinishedInvocation) GetFinished() *timestamp.Timestamp

func (*FinishedInvocation) GetInvocationId

func (m *FinishedInvocation) GetInvocationId() int64

func (*FinishedInvocation) ProtoMessage

func (*FinishedInvocation) ProtoMessage()

func (*FinishedInvocation) Reset

func (m *FinishedInvocation) Reset()

func (*FinishedInvocation) String

func (m *FinishedInvocation) String() string

func (*FinishedInvocation) XXX_DiscardUnknown

func (m *FinishedInvocation) XXX_DiscardUnknown()

func (*FinishedInvocation) XXX_Marshal

func (m *FinishedInvocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FinishedInvocation) XXX_Merge

func (m *FinishedInvocation) XXX_Merge(src proto.Message)

func (*FinishedInvocation) XXX_Size

func (m *FinishedInvocation) XXX_Size() int

func (*FinishedInvocation) XXX_Unmarshal

func (m *FinishedInvocation) XXX_Unmarshal(b []byte) error

type FinishedInvocationList

type FinishedInvocationList struct {
	Invocations          []*FinishedInvocation `protobuf:"bytes,1,rep,name=invocations,proto3" json:"invocations,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

FinishedInvocationList is stored in Job entities as FinishedInvocationsRaw.

func (*FinishedInvocationList) Descriptor

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

func (*FinishedInvocationList) GetInvocations

func (m *FinishedInvocationList) GetInvocations() []*FinishedInvocation

func (*FinishedInvocationList) ProtoMessage

func (*FinishedInvocationList) ProtoMessage()

func (*FinishedInvocationList) Reset

func (m *FinishedInvocationList) Reset()

func (*FinishedInvocationList) String

func (m *FinishedInvocationList) String() string

func (*FinishedInvocationList) XXX_DiscardUnknown

func (m *FinishedInvocationList) XXX_DiscardUnknown()

func (*FinishedInvocationList) XXX_Marshal

func (m *FinishedInvocationList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FinishedInvocationList) XXX_Merge

func (m *FinishedInvocationList) XXX_Merge(src proto.Message)

func (*FinishedInvocationList) XXX_Size

func (m *FinishedInvocationList) XXX_Size() int

func (*FinishedInvocationList) XXX_Unmarshal

func (m *FinishedInvocationList) XXX_Unmarshal(b []byte) error

type InvocationFinishedTask

type InvocationFinishedTask struct {
	JobId                string              `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	InvId                int64               `protobuf:"varint,2,opt,name=inv_id,json=invId,proto3" json:"inv_id,omitempty"`
	Triggers             *FanOutTriggersTask `protobuf:"bytes,3,opt,name=triggers,proto3" json:"triggers,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

InvocationFinishedTask is emitted by the invocation when it finishes.

It is enqueued transactionally.

Queue: "completions".

func (*InvocationFinishedTask) Descriptor

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

func (*InvocationFinishedTask) GetInvId

func (m *InvocationFinishedTask) GetInvId() int64

func (*InvocationFinishedTask) GetJobId

func (m *InvocationFinishedTask) GetJobId() string

func (*InvocationFinishedTask) GetTriggers

func (m *InvocationFinishedTask) GetTriggers() *FanOutTriggersTask

func (*InvocationFinishedTask) ProtoMessage

func (*InvocationFinishedTask) ProtoMessage()

func (*InvocationFinishedTask) Reset

func (m *InvocationFinishedTask) Reset()

func (*InvocationFinishedTask) String

func (m *InvocationFinishedTask) String() string

func (*InvocationFinishedTask) XXX_DiscardUnknown

func (m *InvocationFinishedTask) XXX_DiscardUnknown()

func (*InvocationFinishedTask) XXX_Marshal

func (m *InvocationFinishedTask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*InvocationFinishedTask) XXX_Merge

func (m *InvocationFinishedTask) XXX_Merge(src proto.Message)

func (*InvocationFinishedTask) XXX_Size

func (m *InvocationFinishedTask) XXX_Size() int

func (*InvocationFinishedTask) XXX_Unmarshal

func (m *InvocationFinishedTask) XXX_Unmarshal(b []byte) error

type InvocationsCursor

type InvocationsCursor struct {
	// ID of the last scanned invocation (active or finished).
	//
	// The query will return all IDs that are larger than this one.
	LastScanned          int64    `protobuf:"varint,2,opt,name=last_scanned,json=lastScanned,proto3" json:"last_scanned,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

InvocationsCursor is used to paginate results of GetInvocations RPC call.

It is serialized in base64 and sent to the clients. There's no integrity protection: we assume broken cursors are rejected down the call stack.

The internal structure of the cursor is implementation detail and clients must not depend on it.

func (*InvocationsCursor) Descriptor

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

func (*InvocationsCursor) GetLastScanned

func (m *InvocationsCursor) GetLastScanned() int64

func (*InvocationsCursor) ProtoMessage

func (*InvocationsCursor) ProtoMessage()

func (*InvocationsCursor) Reset

func (m *InvocationsCursor) Reset()

func (*InvocationsCursor) String

func (m *InvocationsCursor) String() string

func (*InvocationsCursor) XXX_DiscardUnknown

func (m *InvocationsCursor) XXX_DiscardUnknown()

func (*InvocationsCursor) XXX_Marshal

func (m *InvocationsCursor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*InvocationsCursor) XXX_Merge

func (m *InvocationsCursor) XXX_Merge(src proto.Message)

func (*InvocationsCursor) XXX_Size

func (m *InvocationsCursor) XXX_Size() int

func (*InvocationsCursor) XXX_Unmarshal

func (m *InvocationsCursor) XXX_Unmarshal(b []byte) error

type KickTriageTask

type KickTriageTask struct {
	JobId                string   `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

KickTriageTask can be used to transactionally initiate a new triage.

We can't transactionally enqueue TriageJobStateTask, since its throttling mechanism uses memcache and named tasks, which are not available inside transactions. So instead transactions can enqueue KickTriageTask, which in turn will enqueue TriageJobStateTask (with throttling).

Queue: "triages".

func (*KickTriageTask) Descriptor

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

func (*KickTriageTask) GetJobId

func (m *KickTriageTask) GetJobId() string

func (*KickTriageTask) ProtoMessage

func (*KickTriageTask) ProtoMessage()

func (*KickTriageTask) Reset

func (m *KickTriageTask) Reset()

func (*KickTriageTask) String

func (m *KickTriageTask) String() string

func (*KickTriageTask) XXX_DiscardUnknown

func (m *KickTriageTask) XXX_DiscardUnknown()

func (*KickTriageTask) XXX_Marshal

func (m *KickTriageTask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*KickTriageTask) XXX_Merge

func (m *KickTriageTask) XXX_Merge(src proto.Message)

func (*KickTriageTask) XXX_Size

func (m *KickTriageTask) XXX_Size() int

func (*KickTriageTask) XXX_Unmarshal

func (m *KickTriageTask) XXX_Unmarshal(b []byte) error

type LaunchInvocationTask

type LaunchInvocationTask struct {
	JobId                string   `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	InvId                int64    `protobuf:"varint,2,opt,name=inv_id,json=invId,proto3" json:"inv_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

LaunchInvocationTask is used to start running (or retry a lunch of) a single invocation.

It is enqueued non-transactionally, but with the deduplication key.

Queue: "launches".

func (*LaunchInvocationTask) Descriptor

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

func (*LaunchInvocationTask) GetInvId

func (m *LaunchInvocationTask) GetInvId() int64

func (*LaunchInvocationTask) GetJobId

func (m *LaunchInvocationTask) GetJobId() string

func (*LaunchInvocationTask) ProtoMessage

func (*LaunchInvocationTask) ProtoMessage()

func (*LaunchInvocationTask) Reset

func (m *LaunchInvocationTask) Reset()

func (*LaunchInvocationTask) String

func (m *LaunchInvocationTask) String() string

func (*LaunchInvocationTask) XXX_DiscardUnknown

func (m *LaunchInvocationTask) XXX_DiscardUnknown()

func (*LaunchInvocationTask) XXX_Marshal

func (m *LaunchInvocationTask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LaunchInvocationTask) XXX_Merge

func (m *LaunchInvocationTask) XXX_Merge(src proto.Message)

func (*LaunchInvocationTask) XXX_Size

func (m *LaunchInvocationTask) XXX_Size() int

func (*LaunchInvocationTask) XXX_Unmarshal

func (m *LaunchInvocationTask) XXX_Unmarshal(b []byte) error

type LaunchInvocationsBatchTask

type LaunchInvocationsBatchTask struct {
	Tasks                []*LaunchInvocationTask `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

LaunchInvocationsBatchTask is used to kick off several invocations at once.

It is enqueued transactionally. It fans out into many LaunchInvocationTask.

Queue: "batches".

func (*LaunchInvocationsBatchTask) Descriptor

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

func (*LaunchInvocationsBatchTask) GetTasks

func (*LaunchInvocationsBatchTask) ProtoMessage

func (*LaunchInvocationsBatchTask) ProtoMessage()

func (*LaunchInvocationsBatchTask) Reset

func (m *LaunchInvocationsBatchTask) Reset()

func (*LaunchInvocationsBatchTask) String

func (m *LaunchInvocationsBatchTask) String() string

func (*LaunchInvocationsBatchTask) XXX_DiscardUnknown

func (m *LaunchInvocationsBatchTask) XXX_DiscardUnknown()

func (*LaunchInvocationsBatchTask) XXX_Marshal

func (m *LaunchInvocationsBatchTask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LaunchInvocationsBatchTask) XXX_Merge

func (m *LaunchInvocationsBatchTask) XXX_Merge(src proto.Message)

func (*LaunchInvocationsBatchTask) XXX_Size

func (m *LaunchInvocationsBatchTask) XXX_Size() int

func (*LaunchInvocationsBatchTask) XXX_Unmarshal

func (m *LaunchInvocationsBatchTask) XXX_Unmarshal(b []byte) error

type ReadProjectConfigTask

type ReadProjectConfigTask struct {
	ProjectId            string   `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

ReadProjectConfigTask is used to import jobs of some project.

Queue: "read-project-config".

func (*ReadProjectConfigTask) Descriptor

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

func (*ReadProjectConfigTask) GetProjectId

func (m *ReadProjectConfigTask) GetProjectId() string

func (*ReadProjectConfigTask) ProtoMessage

func (*ReadProjectConfigTask) ProtoMessage()

func (*ReadProjectConfigTask) Reset

func (m *ReadProjectConfigTask) Reset()

func (*ReadProjectConfigTask) String

func (m *ReadProjectConfigTask) String() string

func (*ReadProjectConfigTask) XXX_DiscardUnknown

func (m *ReadProjectConfigTask) XXX_DiscardUnknown()

func (*ReadProjectConfigTask) XXX_Marshal

func (m *ReadProjectConfigTask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ReadProjectConfigTask) XXX_Merge

func (m *ReadProjectConfigTask) XXX_Merge(src proto.Message)

func (*ReadProjectConfigTask) XXX_Size

func (m *ReadProjectConfigTask) XXX_Size() int

func (*ReadProjectConfigTask) XXX_Unmarshal

func (m *ReadProjectConfigTask) XXX_Unmarshal(b []byte) error

type ScheduleTimersTask

type ScheduleTimersTask struct {
	JobId                string   `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	InvId                int64    `protobuf:"varint,2,opt,name=inv_id,json=invId,proto3" json:"inv_id,omitempty"`
	Timers               []*Timer `protobuf:"bytes,3,rep,name=timers,proto3" json:"timers,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

ScheduleTimersTask adds a bunch of delayed invocation calls.

It is enqueued transactionally. Results in a bunch of TimerTask calls.

Queue: "timers".

func (*ScheduleTimersTask) Descriptor

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

func (*ScheduleTimersTask) GetInvId

func (m *ScheduleTimersTask) GetInvId() int64

func (*ScheduleTimersTask) GetJobId

func (m *ScheduleTimersTask) GetJobId() string

func (*ScheduleTimersTask) GetTimers

func (m *ScheduleTimersTask) GetTimers() []*Timer

func (*ScheduleTimersTask) ProtoMessage

func (*ScheduleTimersTask) ProtoMessage()

func (*ScheduleTimersTask) Reset

func (m *ScheduleTimersTask) Reset()

func (*ScheduleTimersTask) String

func (m *ScheduleTimersTask) String() string

func (*ScheduleTimersTask) XXX_DiscardUnknown

func (m *ScheduleTimersTask) XXX_DiscardUnknown()

func (*ScheduleTimersTask) XXX_Marshal

func (m *ScheduleTimersTask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ScheduleTimersTask) XXX_Merge

func (m *ScheduleTimersTask) XXX_Merge(src proto.Message)

func (*ScheduleTimersTask) XXX_Size

func (m *ScheduleTimersTask) XXX_Size() int

func (*ScheduleTimersTask) XXX_Unmarshal

func (m *ScheduleTimersTask) XXX_Unmarshal(b []byte) error

type Timer

type Timer struct {
	// Unique in time identifier of this timer, auto-generated.
	//
	// It is used to deduplicate and hence provide idempotency for adding
	// timers.
	//
	// Set by the engine, can't be overridden.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Timestamp when the timer was created.
	//
	// Set by the engine, can't be overridden.
	Created *timestamp.Timestamp `protobuf:"bytes,2,opt,name=created,proto3" json:"created,omitempty"`
	// Target time when this timer activates.
	//
	// Should be provided by whoever emits the timer.
	Eta *timestamp.Timestamp `protobuf:"bytes,3,opt,name=eta,proto3" json:"eta,omitempty"`
	// User friendly name for this timer that shows up in UI.
	//
	// Can be provided by whoever emits the timer. Doesn't have to be unique.
	Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"`
	// Arbitrary optional payload passed verbatim to the invocation.
	Payload              []byte   `protobuf:"bytes,5,opt,name=payload,proto3" json:"payload,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Timer can be emitted by any invocation if it wants to be poked later.

Timers are scoped to single invocation and owned by it, so we don't include invocation reference here. It is always available from the context of calls.

func (*Timer) Descriptor

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

func (*Timer) GetCreated

func (m *Timer) GetCreated() *timestamp.Timestamp

func (*Timer) GetEta

func (m *Timer) GetEta() *timestamp.Timestamp

func (*Timer) GetId

func (m *Timer) GetId() string

func (*Timer) GetPayload

func (m *Timer) GetPayload() []byte

func (*Timer) GetTitle

func (m *Timer) GetTitle() string

func (*Timer) ProtoMessage

func (*Timer) ProtoMessage()

func (*Timer) Reset

func (m *Timer) Reset()

func (*Timer) String

func (m *Timer) String() string

func (*Timer) XXX_DiscardUnknown

func (m *Timer) XXX_DiscardUnknown()

func (*Timer) XXX_Marshal

func (m *Timer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Timer) XXX_Merge

func (m *Timer) XXX_Merge(src proto.Message)

func (*Timer) XXX_Size

func (m *Timer) XXX_Size() int

func (*Timer) XXX_Unmarshal

func (m *Timer) XXX_Unmarshal(b []byte) error

type TimerList

type TimerList struct {
	Timers               []*Timer `protobuf:"bytes,1,rep,name=timers,proto3" json:"timers,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

TimerList is what we store in datastore entities.

func (*TimerList) Descriptor

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

func (*TimerList) GetTimers

func (m *TimerList) GetTimers() []*Timer

func (*TimerList) ProtoMessage

func (*TimerList) ProtoMessage()

func (*TimerList) Reset

func (m *TimerList) Reset()

func (*TimerList) String

func (m *TimerList) String() string

func (*TimerList) XXX_DiscardUnknown

func (m *TimerList) XXX_DiscardUnknown()

func (*TimerList) XXX_Marshal

func (m *TimerList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TimerList) XXX_Merge

func (m *TimerList) XXX_Merge(src proto.Message)

func (*TimerList) XXX_Size

func (m *TimerList) XXX_Size() int

func (*TimerList) XXX_Unmarshal

func (m *TimerList) XXX_Unmarshal(b []byte) error

type TimerTask

type TimerTask struct {
	JobId                string   `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	InvId                int64    `protobuf:"varint,2,opt,name=inv_id,json=invId,proto3" json:"inv_id,omitempty"`
	Timer                *Timer   `protobuf:"bytes,3,opt,name=timer,proto3" json:"timer,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

TimerTask corresponds to delayed calls added through AddTimer controller API.

Enqueued either transactionally or not. Deduplicated based on invocation's PendingTimers set: any timers not in the set are silently skipped.

Queue: "timers".

func (*TimerTask) Descriptor

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

func (*TimerTask) GetInvId

func (m *TimerTask) GetInvId() int64

func (*TimerTask) GetJobId

func (m *TimerTask) GetJobId() string

func (*TimerTask) GetTimer

func (m *TimerTask) GetTimer() *Timer

func (*TimerTask) ProtoMessage

func (*TimerTask) ProtoMessage()

func (*TimerTask) Reset

func (m *TimerTask) Reset()

func (*TimerTask) String

func (m *TimerTask) String() string

func (*TimerTask) XXX_DiscardUnknown

func (m *TimerTask) XXX_DiscardUnknown()

func (*TimerTask) XXX_Marshal

func (m *TimerTask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TimerTask) XXX_Merge

func (m *TimerTask) XXX_Merge(src proto.Message)

func (*TimerTask) XXX_Size

func (m *TimerTask) XXX_Size() int

func (*TimerTask) XXX_Unmarshal

func (m *TimerTask) XXX_Unmarshal(b []byte) error

type TriageJobStateTask

type TriageJobStateTask struct {
	JobId                string   `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

TriageJobStateTask looks at the state of the job and decided what to do next.

Enqueued non-transactionally. It is throttled to run approximately once per second. It looks at pending triggers and recently finished invocations and launches new invocations (or schedules timers to do it later).

Queue: "triages".

func (*TriageJobStateTask) Descriptor

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

func (*TriageJobStateTask) GetJobId

func (m *TriageJobStateTask) GetJobId() string

func (*TriageJobStateTask) ProtoMessage

func (*TriageJobStateTask) ProtoMessage()

func (*TriageJobStateTask) Reset

func (m *TriageJobStateTask) Reset()

func (*TriageJobStateTask) String

func (m *TriageJobStateTask) String() string

func (*TriageJobStateTask) XXX_DiscardUnknown

func (m *TriageJobStateTask) XXX_DiscardUnknown()

func (*TriageJobStateTask) XXX_Marshal

func (m *TriageJobStateTask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TriageJobStateTask) XXX_Merge

func (m *TriageJobStateTask) XXX_Merge(src proto.Message)

func (*TriageJobStateTask) XXX_Size

func (m *TriageJobStateTask) XXX_Size() int

func (*TriageJobStateTask) XXX_Unmarshal

func (m *TriageJobStateTask) XXX_Unmarshal(b []byte) error

type Trigger

type Trigger struct {
	// Unique in time identifier of the trigger.
	//
	// It is used to deduplicate and hence provide idempotency for adding
	// a trigger. Must be provided by whoever emits the trigger.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// ID of a job that emitted this trigger or "" if emitted by the engine.
	//
	// Set by the engine, can't be overridden.
	JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	// ID of an invocation that emitted this trigger or 0 if emitted by the
	// engine.
	//
	// Set by the engine, can't be overridden.
	InvocationId int64 `protobuf:"varint,3,opt,name=invocation_id,json=invocationId,proto3" json:"invocation_id,omitempty"`
	// Timestamp when the trigger was created.
	//
	// Can be set by whoever emits the trigger if the trigger is based on some
	// external event. If not provided, the engine will set it to the current
	// time.
	//
	// Together with 'order_in_batch' used for weak ordering of triggers that
	// aren't directly comparable (e.g. git commits from different repositories).
	// This ordering shouldn't be considered reliable.
	Created *timestamp.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"`
	// If a bunch of triggers were emitted at the same moment in time (for example
	// through a single RPC or by a single invocation in a tight loop), a trigger
	// with smaller 'order_in_batch' is considered to be older. Value of
	// 'order_in_batch' for triggers with different 'created' timestamps are not
	// comparable.
	//
	// Should be set by whoever emits the trigger if 'created' timestamp was
	// supplied explicitly. Otherwise will be set by the engine based on the order
	// of EmitTrigger calls done by the invocation.
	//
	// Together with 'order_in_batch' used for weak ordering of triggers that
	// aren't directly comparable (e.g. git commits from different repositories).
	// This ordering shouldn't be considered reliable.
	OrderInBatch int64 `protobuf:"varint,7,opt,name=order_in_batch,json=orderInBatch,proto3" json:"order_in_batch,omitempty"`
	// User friendly name for this trigger that shows up in UI.
	//
	// Can be provided by whoever emits the trigger. Doesn't have to be unique.
	Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"`
	// Optional HTTP link to display in UI.
	//
	// Can be provided by whoever emits the trigger. Doesn't have to be unique.
	Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`
	// For triggers emitted through public API or "Trigger" button, contains
	// identity of a user who submitted this trigger.
	//
	// Empty for triggers emitted by the service itself.
	EmittedByUser string `protobuf:"bytes,8,opt,name=emitted_by_user,json=emittedByUser,proto3" json:"emitted_by_user,omitempty"`
	// Actual trigger data that depends on type of the trigger.
	//
	// Types that are valid to be assigned to Payload:
	//	*Trigger_Cron
	//	*Trigger_Webui
	//	*Trigger_Noop
	//	*Trigger_Gitiles
	//	*Trigger_Buildbucket
	Payload              isTrigger_Payload `protobuf_oneof:"payload"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

Trigger can be emitted by the engine itself (e.g. on a schedule) or by triggering tasks (such as Gitiles tasks).

One or multiple triggers are consumed to initiate a new invocation which has access to the properties of consumed triggers. For example, Buildbucket task knows about triggers produced by Gitiles tasks.

This message is an internal representation of the trigger, as stored in the datastore. See also triggers.Trigger for public representation used in API calls.

func NoopTrigger

func NoopTrigger(id, data string) Trigger

NoopTrigger constructs a noop trigger proto with given ID and data payload.

No other fields are populated.

func (*Trigger) Descriptor

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

func (*Trigger) GetBuildbucket

func (m *Trigger) GetBuildbucket() *v1.BuildbucketTrigger

func (*Trigger) GetCreated

func (m *Trigger) GetCreated() *timestamp.Timestamp

func (*Trigger) GetCron

func (m *Trigger) GetCron() *v1.CronTrigger

func (*Trigger) GetEmittedByUser

func (m *Trigger) GetEmittedByUser() string

func (*Trigger) GetGitiles

func (m *Trigger) GetGitiles() *v1.GitilesTrigger

func (*Trigger) GetId

func (m *Trigger) GetId() string

func (*Trigger) GetInvocationId

func (m *Trigger) GetInvocationId() int64

func (*Trigger) GetJobId

func (m *Trigger) GetJobId() string

func (*Trigger) GetNoop

func (m *Trigger) GetNoop() *v1.NoopTrigger

func (*Trigger) GetOrderInBatch

func (m *Trigger) GetOrderInBatch() int64

func (*Trigger) GetPayload

func (m *Trigger) GetPayload() isTrigger_Payload

func (*Trigger) GetTitle

func (m *Trigger) GetTitle() string

func (*Trigger) GetUrl

func (m *Trigger) GetUrl() string

func (*Trigger) GetWebui

func (m *Trigger) GetWebui() *v1.WebUITrigger

func (*Trigger) ProtoMessage

func (*Trigger) ProtoMessage()

func (*Trigger) Reset

func (m *Trigger) Reset()

func (*Trigger) String

func (m *Trigger) String() string

func (*Trigger) XXX_DiscardUnknown

func (m *Trigger) XXX_DiscardUnknown()

func (*Trigger) XXX_Marshal

func (m *Trigger) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Trigger) XXX_Merge

func (m *Trigger) XXX_Merge(src proto.Message)

func (*Trigger) XXX_OneofWrappers

func (*Trigger) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Trigger) XXX_Size

func (m *Trigger) XXX_Size() int

func (*Trigger) XXX_Unmarshal

func (m *Trigger) XXX_Unmarshal(b []byte) error

type TriggerList

type TriggerList struct {
	Triggers             []*Trigger `protobuf:"bytes,1,rep,name=triggers,proto3" json:"triggers,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

TriggerList is what we store in datastore entities.

func (*TriggerList) Descriptor

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

func (*TriggerList) GetTriggers

func (m *TriggerList) GetTriggers() []*Trigger

func (*TriggerList) ProtoMessage

func (*TriggerList) ProtoMessage()

func (*TriggerList) Reset

func (m *TriggerList) Reset()

func (*TriggerList) String

func (m *TriggerList) String() string

func (*TriggerList) XXX_DiscardUnknown

func (m *TriggerList) XXX_DiscardUnknown()

func (*TriggerList) XXX_Marshal

func (m *TriggerList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TriggerList) XXX_Merge

func (m *TriggerList) XXX_Merge(src proto.Message)

func (*TriggerList) XXX_Size

func (m *TriggerList) XXX_Size() int

func (*TriggerList) XXX_Unmarshal

func (m *TriggerList) XXX_Unmarshal(b []byte) error

type Trigger_Buildbucket

type Trigger_Buildbucket struct {
	Buildbucket *v1.BuildbucketTrigger `protobuf:"bytes,52,opt,name=buildbucket,proto3,oneof"`
}

type Trigger_Cron

type Trigger_Cron struct {
	Cron *v1.CronTrigger `protobuf:"bytes,40,opt,name=cron,proto3,oneof"`
}

type Trigger_Gitiles

type Trigger_Gitiles struct {
	Gitiles *v1.GitilesTrigger `protobuf:"bytes,51,opt,name=gitiles,proto3,oneof"`
}

type Trigger_Noop

type Trigger_Noop struct {
	Noop *v1.NoopTrigger `protobuf:"bytes,50,opt,name=noop,proto3,oneof"`
}

type Trigger_Webui

type Trigger_Webui struct {
	Webui *v1.WebUITrigger `protobuf:"bytes,41,opt,name=webui,proto3,oneof"`
}

type UnimplementedAdminServer

type UnimplementedAdminServer struct {
}

UnimplementedAdminServer can be embedded to have forward compatible implementations.

func (*UnimplementedAdminServer) GetDebugJobState

func (*UnimplementedAdminServer) GetDebugJobState(ctx context.Context, req *v1.JobRef) (*DebugJobState, error)