worker

package
v0.0.1-dev.12 Latest Latest
Warning

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

Go to latest
Published: Sep 6, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseTask

type BaseTask struct {
	ID           string        `json:"id"`
	Type         string        `json:"type"`
	Priority     int           `json:"priority"`
	Dependencies []string      `json:"dependencies"`
	Timeout      time.Duration `json:"timeout"`
	RetryPolicy  RetryPolicy   `json:"retry_policy"`

	// Execution state (previously in TaskResult)
	Status    TaskStatus             `json:"status"`
	StartTime time.Time              `json:"start_time"`
	EndTime   time.Time              `json:"end_time"`
	Error     error                  `json:"error"`
	Progress  float64                `json:"progress"`
	Metadata  map[string]interface{} `json:"metadata"`
	// contains filtered or unexported fields
}

BaseTask provides a basic implementation of the Task interface

func NewTask

func NewTask(handler func(context.Context) error) *BaseTask

NewTask creates a new BaseTask with the provided handler function

func NoopTask

func NoopTask() *BaseTask

NoopTask returns a task that does nothing

func (*BaseTask) Execute

func (t *BaseTask) Execute(ctx context.Context) error

func (*BaseTask) GetDependencies

func (t *BaseTask) GetDependencies() []string

func (*BaseTask) GetEndTime

func (t *BaseTask) GetEndTime() time.Time

func (*BaseTask) GetError

func (t *BaseTask) GetError() error

Execution results

func (*BaseTask) GetID

func (t *BaseTask) GetID() string

Core task properties

func (*BaseTask) GetMetadata

func (t *BaseTask) GetMetadata() map[string]interface{}

func (*BaseTask) GetPriority

func (t *BaseTask) GetPriority() int

func (*BaseTask) GetProgress

func (t *BaseTask) GetProgress() float64

func (*BaseTask) GetRetryPolicy

func (t *BaseTask) GetRetryPolicy() RetryPolicy

func (*BaseTask) GetStartTime

func (t *BaseTask) GetStartTime() time.Time

func (*BaseTask) GetStatus

func (t *BaseTask) GetStatus() TaskStatus

Execution state

func (*BaseTask) GetTimeout

func (t *BaseTask) GetTimeout() time.Duration

func (*BaseTask) GetType

func (t *BaseTask) GetType() string

func (*BaseTask) IsCompleted

func (t *BaseTask) IsCompleted() bool

Convenience methods

func (*BaseTask) IsFailed

func (t *BaseTask) IsFailed() bool

func (*BaseTask) IsRunning

func (t *BaseTask) IsRunning() bool

func (*BaseTask) SetEndTime

func (t *BaseTask) SetEndTime(time time.Time)

func (*BaseTask) SetError

func (t *BaseTask) SetError(error error)

func (*BaseTask) SetMetadata

func (t *BaseTask) SetMetadata(metadata map[string]interface{})

func (*BaseTask) SetProgress

func (t *BaseTask) SetProgress(progress float64)

func (*BaseTask) SetStartTime

func (t *BaseTask) SetStartTime(time time.Time)

func (*BaseTask) SetStatus

func (t *BaseTask) SetStatus(status TaskStatus)

func (*BaseTask) Validate

func (t *BaseTask) Validate() error

func (*BaseTask) WithDependencies

func (t *BaseTask) WithDependencies(dependencies []string) *BaseTask

WithDependencies sets the dependencies for the task

func (*BaseTask) WithID

func (t *BaseTask) WithID(id string) *BaseTask

WithID sets a custom ID for the task

func (*BaseTask) WithPriority

func (t *BaseTask) WithPriority(priority int) *BaseTask

WithPriority sets the priority for the task

func (*BaseTask) WithType

func (t *BaseTask) WithType(typ string) *BaseTask

WithType sets a custom type for the task

type RetryPolicy

type RetryPolicy struct {
	MaxAttempts       int
	InitialDelay      time.Duration
	MaxDelay          time.Duration
	BackoffMultiplier float64
}

RetryPolicy defines how a task should be retried

func DefaultRetryPolicy

func DefaultRetryPolicy() RetryPolicy

DefaultRetryPolicy returns a default retry policy

type Task

type Task interface {
	// Core task properties
	GetID() string
	GetType() string
	GetPriority() int
	GetDependencies() []string

	// Execution methods
	Execute(ctx context.Context) error
	Validate() error

	// Configuration
	GetTimeout() time.Duration
	GetRetryPolicy() RetryPolicy

	// Execution state (previously in TaskResult)
	GetStatus() TaskStatus
	SetStatus(status TaskStatus)
	GetStartTime() time.Time
	SetStartTime(time time.Time)
	GetEndTime() time.Time
	SetEndTime(time time.Time)

	// Execution results (previously in TaskResult)
	GetError() error
	SetError(error error)
	GetProgress() float64
	SetProgress(progress float64)
	GetMetadata() map[string]interface{}
	SetMetadata(metadata map[string]interface{})

	// Convenience methods
	IsCompleted() bool
	IsFailed() bool
	IsRunning() bool
}

Task represents a unit of work to be executed with its execution state

type TaskFilter

type TaskFilter struct {
	Type      string
	Status    TaskStatus
	StartTime time.Time
	EndTime   time.Time
}

TaskFilter defines filtering criteria for listing tasks

type TaskStatus

type TaskStatus string

TaskStatus represents the status of a task

const (
	TaskStatusPending   TaskStatus = "pending"
	TaskStatusRunning   TaskStatus = "running"
	TaskStatusCompleted TaskStatus = "completed"
	TaskStatusFailed    TaskStatus = "failed"
	TaskStatusCancelled TaskStatus = "cancelled"
	TaskStatusScheduled TaskStatus = "scheduled"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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