entity

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2025 License: MIT Imports: 6 Imported by: 0

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 Task

type Task struct {
	ID            uuid.UUID
	Type          TaskType
	ExternalID    string
	Payload       string
	Status        TaskStatus
	Attempts      int32
	Errors        *string
	CreatedAt     time.Time
	UpdatedAt     *time.Time
	NextAttemptAt time.Time
}

Task represents a unit of work in the queue system.

func NewTask

func NewTask(taskType TaskType, payload string) *Task

NewTask creates a new task with the specified type and payload.

func NewTaskWithExternalID

func NewTaskWithExternalID(taskType, payload, externalID string) *Task

NewTaskWithExternalID creates a new task with a custom external ID.

func (*Task) AddError

func (t *Task) AddError(err error)

AddError appends an error message to the task's error log.

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.

type TaskStatus

type TaskStatus = string

TaskStatus represents the current status of a task.

type TaskType

type TaskType = string

TaskType represents the type of task to be executed.

Jump to

Keyboard shortcuts

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