coordinator

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2025 License: GPL-3.0 Imports: 17 Imported by: 0

Documentation

Overview

Package coordinator handles task coordination and dependency management

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrShutdownErrors is returned when errors occur during shutdown
	ErrShutdownErrors = errors.New("errors during shutdown")
)

Functions

This section is empty.

Types

type ArchiveHandler added in v0.0.2

type ArchiveHandler interface {
	// Start begins monitoring archived tasks
	Start(ctx context.Context) error
	// Stop gracefully shuts down the handler
	Stop() error
}

ArchiveHandler manages archive monitoring and cleanup

func NewArchiveHandler added in v0.0.2

func NewArchiveHandler(log logrus.FieldLogger, redisOpt *redis.Options, dag models.DAGReader) (ArchiveHandler, error)

NewArchiveHandler creates a new archive handler

type Direction

type Direction string

Direction represents the processing direction for tasks

const (
	// DirectionForward processes tasks in forward direction
	DirectionForward Direction = "forward"
	// DirectionBack processes tasks in backward direction
	DirectionBack Direction = "back"

	// BoundsCacheTaskType is the task type for external bounds cache updates
	BoundsCacheTaskType = "bounds:cache"
)

type MockService added in v0.0.2

type MockService struct {

	// Control behavior
	StartFunc                      func(ctx context.Context) error
	StopFunc                       func() error
	ProcessFunc                    func(transformation models.Transformation, direction Direction)
	ProcessBoundsOrchestrationFunc func(ctx context.Context)

	// Track calls for assertions
	StartCalls                      []context.Context
	StopCalls                       int
	ProcessCalls                    []ProcessCall
	ProcessBoundsOrchestrationCalls []context.Context
	// contains filtered or unexported fields
}

MockService is a mock implementation of Service for testing

func NewMockService added in v0.0.2

func NewMockService() *MockService

NewMockService creates a new mock coordinator service

func (*MockService) AssertProcessCalledWith added in v0.0.2

func (m *MockService) AssertProcessCalledWith(modelID string, direction Direction) bool

AssertProcessCalledWith checks if Process was called with specific args

func (*MockService) AssertStartCalled added in v0.0.2

func (m *MockService) AssertStartCalled() bool

AssertStartCalled returns true if Start was called

func (*MockService) Process added in v0.0.2

func (m *MockService) Process(transformation models.Transformation, direction Direction)

Process implements Service

func (*MockService) ProcessBoundsOrchestration added in v0.0.2

func (m *MockService) ProcessBoundsOrchestration(ctx context.Context)

ProcessBoundsOrchestration implements Service

func (*MockService) Reset added in v0.0.2

func (m *MockService) Reset()

Reset clears all recorded calls

func (*MockService) Start added in v0.0.2

func (m *MockService) Start(ctx context.Context) error

Start implements Service

func (*MockService) Stop added in v0.0.2

func (m *MockService) Stop() error

Stop implements Service

type ProcessCall added in v0.0.2

type ProcessCall struct {
	Transformation models.Transformation
	Direction      Direction
}

ProcessCall records a Process method call

type Service

type Service interface {
	// Start initializes and starts the coordinator service
	Start(ctx context.Context) error

	// Stop gracefully shuts down the coordinator service
	Stop() error

	// Process handles transformation processing in the specified direction
	Process(transformation models.Transformation, direction Direction)

	// ProcessBoundsOrchestration handles bounds orchestration for external models
	ProcessBoundsOrchestration(ctx context.Context)
}

Service defines the public interface for the coordinator

func NewService

func NewService(log logrus.FieldLogger, redisOpt *redis.Options, dag models.DAGReader, adminService admin.Service, validator validation.Validator) (Service, error)

NewService creates a new coordinator service

Jump to

Keyboard shortcuts

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