Documentation
¶
Index ¶
- type BaseTask
- func (t *BaseTask) Execute(ctx context.Context) error
- func (t *BaseTask) GetDependencies() []string
- func (t *BaseTask) GetEndTime() time.Time
- func (t *BaseTask) GetError() error
- func (t *BaseTask) GetID() string
- func (t *BaseTask) GetMetadata() map[string]interface{}
- func (t *BaseTask) GetPriority() int
- func (t *BaseTask) GetProgress() float64
- func (t *BaseTask) GetRetryPolicy() RetryPolicy
- func (t *BaseTask) GetStartTime() time.Time
- func (t *BaseTask) GetStatus() TaskStatus
- func (t *BaseTask) GetTimeout() time.Duration
- func (t *BaseTask) GetType() string
- func (t *BaseTask) IsCompleted() bool
- func (t *BaseTask) IsFailed() bool
- func (t *BaseTask) IsRunning() bool
- func (t *BaseTask) SetEndTime(time time.Time)
- func (t *BaseTask) SetError(error error)
- func (t *BaseTask) SetMetadata(metadata map[string]interface{})
- func (t *BaseTask) SetProgress(progress float64)
- func (t *BaseTask) SetStartTime(time time.Time)
- func (t *BaseTask) SetStatus(status TaskStatus)
- func (t *BaseTask) Validate() error
- func (t *BaseTask) WithDependencies(dependencies []string) *BaseTask
- func (t *BaseTask) WithID(id string) *BaseTask
- func (t *BaseTask) WithPriority(priority int) *BaseTask
- func (t *BaseTask) WithType(typ string) *BaseTask
- type RetryPolicy
- type Task
- type TaskFilter
- type TaskStatus
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 (*BaseTask) GetDependencies ¶
func (*BaseTask) GetEndTime ¶
func (*BaseTask) GetMetadata ¶
func (*BaseTask) GetPriority ¶
func (*BaseTask) GetProgress ¶
func (*BaseTask) GetRetryPolicy ¶
func (t *BaseTask) GetRetryPolicy() RetryPolicy
func (*BaseTask) GetStartTime ¶
func (*BaseTask) GetTimeout ¶
func (*BaseTask) SetEndTime ¶
func (*BaseTask) SetMetadata ¶
func (*BaseTask) SetProgress ¶
func (*BaseTask) SetStartTime ¶
func (*BaseTask) SetStatus ¶
func (t *BaseTask) SetStatus(status TaskStatus)
func (*BaseTask) WithDependencies ¶
WithDependencies sets the dependencies for the task
func (*BaseTask) WithPriority ¶
WithPriority sets the priority 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 ¶
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" )
Click to show internal directories.
Click to hide internal directories.