Documentation
¶
Overview ¶
Package entity contains domain entities for the task queue system.
Index ¶
Constants ¶
View Source
const ( // TaskStatusNew is a new task. TaskStatusNew = "new" // TaskStatusPending is a task waiting to be processed. TaskStatusPending = "pending" // TaskStatusProcessing is a task in progress. TaskStatusProcessing = "processing" // TaskStatusDone is a task that was processed successfully. TaskStatusDone = "done" // TaskStatusCanceled is a canceled task. TaskStatusCanceled = "canceled" // TaskStatusError is a task is processed with an error and HAS attempts. TaskStatusError = "error" // TaskStatusAttemptsLeft is a task that was processed with an error and NO attempts. TaskStatusAttemptsLeft = "attempts_left" )
Task status constants define the possible states of a task in the queue.
Variables ¶
View Source
var ( // ErrDuplicateTask is returned when attempting to insert a task with a duplicate external ID. ErrDuplicateTask = errors.New("task already exists") // ErrInvalidPayloadFormat is returned when the task payload is not valid JSON. ErrInvalidPayloadFormat = errors.New("payload format is invalid. should be json") // ErrTaskCancel is returned when a task is canceled during processing. ErrTaskCancel = errors.New("task canceled") // ErrTaskTimeout is returned when task processing exceeds the timeout limit. ErrTaskTimeout = errors.New("task processing timeout") )
Functions ¶
This section is empty.
Types ¶
type Metadata ¶ added in v0.3.0
Metadata represents arbitrary key-value data associated with a task for tracking and context.
func NewMetadataFromJSON ¶ added in v0.3.0
NewMetadataFromJSON deserializes a JSON string into a Metadata map.
type Task ¶
type Task struct {
ID uuid.UUID
Type TaskType
ExternalID string
Payload string
Status TaskStatus
Attempts int32
Errors *string
Metadata Metadata
CreatedAt time.Time
UpdatedAt *time.Time
NextAttemptAt time.Time
}
Task represents a unit of work in the queue system.
func NewTaskWithExternalID ¶
NewTaskWithExternalID creates a new task with a custom external ID.
type TaskProcessingOperations ¶ added in v0.2.0
type TaskProcessingOperations = string
TaskProcessingOperations represents the type of operation being performed on a task.
const ( OperationFetch TaskProcessingOperations = "fetch" // Task fetching from database OperationProcessing TaskProcessingOperations = "processing" // Task execution by processor OperationCleanup TaskProcessingOperations = "cleanup" // Task cleanup operations OperationHealth TaskProcessingOperations = "health" // Health check operations )
Task processing operation types for metrics and tracking.
Click to show internal directories.
Click to hide internal directories.