entity

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2025 License: MIT Imports: 5 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

This section is empty.

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 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