Documentation
¶
Overview ¶
Package worker implements the worker functionality for CBT
Index ¶
Constants ¶
View Source
const ( // ScanTypeIncremental is the incremental scan type ScanTypeIncremental = "incremental" // ScanTypeFull is the full scan type ScanTypeFull = "full" )
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
type ModelExecutor ¶
type ModelExecutor struct {
// contains filtered or unexported fields
}
ModelExecutor implements the execution of model transformations
func NewModelExecutor ¶
func NewModelExecutor(log logrus.FieldLogger, 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) UpdateBounds ¶ added in v0.0.2
func (e *ModelExecutor) UpdateBounds(ctx context.Context, modelID, scanType string) error
UpdateBounds updates the external model bounds cache
type Service ¶
type Service interface {
// Start initializes and starts the worker service
Start(ctx context.Context) error
// Stop gracefully shuts down the worker service
Stop() error
}
Service defines the public interface for the worker service
func NewService ¶
func NewService(log logrus.FieldLogger, cfg *Config, chClient clickhouse.ClientInterface, adminService admin.Service, modelsService models.Service, redisOpt *redis.Options, validator validation.Validator) (Service, error)
NewService creates a new worker application
Click to show internal directories.
Click to hide internal directories.