worker

package
v0.0.1 Latest Latest
Warning

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

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

Documentation

Overview

Package worker implements the worker functionality for CBT

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNoQueuesConfigured is returned when no queues are configured
	ErrNoQueuesConfigured = errors.New("at least one queue must be configured")
	// ErrInvalidConcurrency is returned when concurrency is not positive
	ErrInvalidConcurrency = errors.New("concurrency must be positive")
)
View Source
var (
	ErrInvalidTaskContext        = errors.New("invalid task context type")
	ErrInvalidTransformationType = errors.New("invalid transformation type")
	ErrTableDoesNotExist         = errors.New("table does not exist")
)

Define static errors

Functions

This section is empty.

Types

type Config

type Config struct {
	Concurrency     int      `yaml:"concurrency" default:"10"`
	Tags            []string `yaml:"tags,omitempty"` // Optional tag-based model filtering
	ShutdownTimeout int      `yaml:"shutdownTimeout" default:"30"`
}

Config contains worker-specific settings

func (*Config) Validate

func (c *Config) Validate() error

Validate validates the configuration

type ModelExecutor

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

ModelExecutor implements the execution of model transformations

func NewModelExecutor

func NewModelExecutor(logger *logrus.Logger, chClient clickhouse.ClientInterface, modelsService *models.Service, adminManager *admin.Service) *ModelExecutor

NewModelExecutor creates a new model executor

func (*ModelExecutor) Execute

func (e *ModelExecutor) Execute(ctx context.Context, taskCtxInterface interface{}) error

Execute runs the model transformation

func (*ModelExecutor) Validate

func (e *ModelExecutor) Validate(ctx context.Context, taskCtxInterface interface{}) error

Validate checks if the model can be executed

type Service

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

Service encapsulates the worker application logic

func NewService

func NewService(log *logrus.Logger, cfg *Config, chClient clickhouse.ClientInterface, adminService *admin.Service, modelsService *models.Service, redisOpt *redis.Options, validator *validation.DependencyValidator) (*Service, error)

NewService creates a new worker application

func (*Service) Start

func (s *Service) Start() error

Start initializes and starts the worker service

func (*Service) Stop

func (s *Service) Stop() error

Stop gracefully shuts down the worker application

Jump to

Keyboard shortcuts

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