core

package
v0.0.0-...-d6bd660 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2025 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Nautilus

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

Nautilus is the main orchestrator for operator execution

func New

func New(options ...Option) (*Nautilus, error)

New creates a new Nautilus instance with the provided options

func (*Nautilus) ExecuteParallel

func (n *Nautilus) ExecuteParallel(ctx context.Context, fn func(ctx context.Context) error) error

Execute Parallel runs a function in the worker pool

func (*Nautilus) GetCurrentRun

func (n *Nautilus) GetCurrentRun() *interfaces.RunInfo

GetCurrentRun return information about the current run

func (*Nautilus) GetLastRunTime

func (n *Nautilus) GetLastRunTime() time.Time

GetLastRunTime returns the time of the last run

func (*Nautilus) GetRunCount

func (n *Nautilus) GetRunCount() int

GetRunCount returns the total number of runs executed

func (*Nautilus) GetUptime

func (n *Nautilus) GetUptime() time.Duration

GetUptime returns the uptime of Nautilus

func (*Nautilus) HealthCheck

func (n *Nautilus) HealthCheck(ctx context.Context) error

func (*Nautilus) Name

func (n *Nautilus) Name() string

func (*Nautilus) RegisterPlugin

func (n *Nautilus) RegisterPlugin(plugin plugin.Plugin)

func (*Nautilus) Run

func (n *Nautilus) Run(ctx context.Context, operator interfaces.Operator) error

func (*Nautilus) Shutdown

func (n *Nautilus) Shutdown(ctx context.Context)

Shutdown initiates a graceful shutdown of Nautilus

type Option

type Option func(*Nautilus) error

Option is a functional option for configuring Nautilus

func WithAPI

func WithAPI(enabled bool, port int) Option

WithAPI enables or disables the API server

func WithConfig

func WithConfig(cfg *config.Config) Option

WithConfig directly sets the configuration

func WithConfigPath

func WithConfigPath(path string) Option

WithConfigPath loads configuration from the specified path

func WithDescription

func WithDescription(description string) Option

WithDescription sets the operator description

func WithHealthcheckDelay

func WithHealthcheckDelay(delay time.Duration) Option

WithHealthcheckDelay sets the delay between health checks

func WithInterval

func WithInterval(interval time.Duration) Option

WithInterval sets a time interval for periodic execution

func WithLogFormat

func WithLogFormat(format enums.LogFormatEnum) Option

WithLogFormat sets the logging format

func WithLogLevel

func WithLogLevel(level string) Option

WithLogLevel sets the logging level

func WithLogger

func WithLogger(logger zerolog.Logger) Option

WithLogger sets a custom logger

func WithMaxConsecutiveFailures

func WithMaxConsecutiveFailures(max int) Option

WithMaxConsecutiveFailures sets the maximum allowed consecutive failures

func WithMetrics

func WithMetrics(enabled bool) Option

WithMetrics enables or disables metrics collection

func WithName

func WithName(name string) Option

WithName sets the operator name

func WithParallelism

func WithParallelism(workers, bufferSize int) Option

WithParallelism configures the parallel execution settings

func WithPlugin

func WithPlugin(plugin plugin.Plugin) Option

WithPlugin adds a plugin to Nautilus

func WithRunOnce

func WithRunOnce(waitAfterCompletion bool) Option

WithRunOnce configures Nautilus to run the operator once and exit

func WithSchedule

func WithSchedule(cronExpr string) Option

WithSchedule sets a cron schedule for periodic execution

func WithTimeout

func WithTimeout(timeout time.Duration) Option

WithTimeout sets the maximum execution time for each run

func WithVersion

func WithVersion(version string) Option

WithVersion sets the version information

Jump to

Keyboard shortcuts

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