workerpool

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package workerpool is a generated GoMock package.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func TimeoutErrorKey added in v1.1.0

func TimeoutErrorKey() string

Types

type DAG

type DAG map[string][]string

DAG - Direct Acyclic Graph

type DAGResult

type DAGResult map[string]*JobResult

DAGResult contains results from orchestrator. collection is not touched from particular jobs so as resource can't be thread safe (only orchestrator can it)

func (DAGResult) Blockers added in v1.1.0

func (r DAGResult) Blockers(dag DAG, job string) []string

Blockers returns direct deps that are not successful (so they block this job).

func (DAGResult) BoundarySubtrees added in v1.1.0

func (r DAGResult) BoundarySubtrees(dag DAG) []string

BoundarySubtrees returns jobs that are successful but have a not-yet-successful job somewhere in their successor subtree.

func (DAGResult) FirstError

func (r DAGResult) FirstError() error

func (DAGResult) FirstInProgress

func (r DAGResult) FirstInProgress() *JobResult

func (DAGResult) Frontiers added in v1.1.0

func (r DAGResult) Frontiers(dag DAG) Frontiers

func (DAGResult) IsFailed

func (r DAGResult) IsFailed() bool

IsFailed says result has Error(s)

func (DAGResult) IsNotReady

func (r DAGResult) IsNotReady() bool

func (DAGResult) IsNotSuccessful

func (r DAGResult) IsNotSuccessful() bool

func (DAGResult) IsReady

func (r DAGResult) IsReady() bool

func (DAGResult) IsSuccessful

func (r DAGResult) IsSuccessful() bool

func (DAGResult) IsTimeouted

func (r DAGResult) IsTimeouted() bool

func (DAGResult) Subtree added in v1.1.0

func (r DAGResult) Subtree(dag DAG, root string) []string

Subtree returns all successors reachable from "root" (including root).

func (DAGResult) TimeoutError

func (r DAGResult) TimeoutError(deadline time.Duration)

type FrontierItem added in v1.1.0

type FrontierItem struct {
	Job       string
	Status    JobStatus
	BlockedBy []string
	Subtree   []string // optional: successors that depend on this job
	// contains filtered or unexported fields
}

FrontierItem is item in the workflow where work stay

func (*FrontierItem) IsBlocked added in v1.1.0

func (f *FrontierItem) IsBlocked() bool

type Frontiers added in v1.1.0

type Frontiers []*FrontierItem

func (Frontiers) AsMap added in v1.1.0

func (f Frontiers) AsMap() map[string]*FrontierItem

type Job

type Job interface {
	fmt.Stringer
	Do(ctx context.Context) (bool, error)
}

type JobResult

type JobResult struct {
	Name   string
	Status JobStatus
	Error  error
}

func (*JobResult) Fail

func (j *JobResult) Fail(err error)

func (*JobResult) IsFailed

func (j *JobResult) IsFailed() bool

func (*JobResult) IsInProgress

func (j *JobResult) IsInProgress() bool

func (*JobResult) IsNotSkipped

func (j *JobResult) IsNotSkipped() bool

func (*JobResult) IsSkipped

func (j *JobResult) IsSkipped() bool

func (*JobResult) IsSuccessfull

func (j *JobResult) IsSuccessfull() bool

func (*JobResult) NotReady

func (j *JobResult) NotReady()

func (*JobResult) Skip

func (j *JobResult) Skip()

func (*JobResult) Success

func (j *JobResult) Success()

type JobStatus

type JobStatus int
const (
	JobStatusUnknown JobStatus = iota
	JobStatusSuccess
	JobStatusInProgress
	JobStatusSkipped
	JobStatusFailed
)

type MockJob

type MockJob struct {
	// contains filtered or unexported fields
}

MockJob is a mock of Job interface.

func NewMockJob

func NewMockJob(ctrl *gomock.Controller) *MockJob

NewMockJob creates a new mock instance.

func (*MockJob) Do

func (m *MockJob) Do(ctx context.Context) (bool, error)

Do mocks base method.

func (*MockJob) EXPECT

func (m *MockJob) EXPECT() *MockJobMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockJob) String

func (m *MockJob) String() string

String mocks base method.

type MockJobMockRecorder

type MockJobMockRecorder struct {
	// contains filtered or unexported fields
}

MockJobMockRecorder is the mock recorder for MockJob.

func (*MockJobMockRecorder) Do

func (mr *MockJobMockRecorder) Do(ctx any) *gomock.Call

Do indicates an expected call of Do.

func (*MockJobMockRecorder) String

func (mr *MockJobMockRecorder) String() *gomock.Call

String indicates an expected call of String.

type Result

type Result struct {
	JobName string
	Err     error
	IsReady bool
}

type WorkerPool

type WorkerPool interface {
	Start() DAGResult
}

func NewWorkerPool

func NewWorkerPool(maxConcurrentJobs int, jobs []Job, dag DAG, logger *zerolog.Logger, timeout time.Duration) (WorkerPool, error)

type WorkerPoolImpl

type WorkerPoolImpl struct {
	// contains filtered or unexported fields
}

func (*WorkerPoolImpl) Start

func (w *WorkerPoolImpl) Start() DAGResult

Jump to

Keyboard shortcuts

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