Documentation
¶
Overview ¶
Package sqlite provides SQLite storage operations for task management in the queue system.
Index ¶
- type Storage
- func (s *Storage) AddTask(ctx context.Context, task *entity.Task) error
- func (s *Storage) CureTasks(ctx context.Context, taskType entity.TaskType, statuses []entity.TaskStatus, ...) ([]*entity.Task, error)
- func (s *Storage) DeleteTasks(ctx context.Context, taskType entity.TaskType, statuses []entity.TaskStatus, ...) ([]*entity.Task, error)
- func (s *Storage) GetDB() *sqlx.DB
- func (s *Storage) GetTask(ctx context.Context, id uuid.UUID) (*entity.Task, error)
- func (s *Storage) GetTasks(ctx context.Context, filter *dbentity.GetTasksFilter, limit int64) ([]*entity.Task, error)
- func (s *Storage) GetTasksForProcessing(ctx context.Context, taskType entity.TaskType, limit int64) ([]*entity.Task, error)
- func (s *Storage) HardUpdateTask(ctx context.Context, taskID uuid.UUID, task *entity.Task) error
- func (s *Storage) ResetAttempts(ctx context.Context, id uuid.UUID) error
- func (s *Storage) UpdateTask(ctx context.Context, taskID uuid.UUID, task *entity.Task) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Storage ¶
type Storage struct {
// contains filtered or unexported fields
}
Storage handles database operations for tasks.
func NewStorage ¶
NewStorage creates a new Storage instance with the provided database connection.
func (*Storage) CureTasks ¶
func (s *Storage) CureTasks( ctx context.Context, taskType entity.TaskType, statuses []entity.TaskStatus, updatedAtTimeAgo time.Duration, comment string, ) ([]*entity.Task, error)
CureTasks updates stuck tasks to error status for retry.
func (*Storage) DeleteTasks ¶
func (s *Storage) DeleteTasks( ctx context.Context, taskType entity.TaskType, statuses []entity.TaskStatus, updatedAtTimeAgo time.Duration, ) ([]*entity.Task, error)
DeleteTasks removes tasks with specified statuses that haven't been updated within the given time period.
func (*Storage) GetTasks ¶
func (s *Storage) GetTasks(ctx context.Context, filter *dbentity.GetTasksFilter, limit int64) ([]*entity.Task, error)
GetTasks retrieves tasks matching the filter criteria with a specified limit.
func (*Storage) GetTasksForProcessing ¶
func (s *Storage) GetTasksForProcessing(ctx context.Context, taskType entity.TaskType, limit int64) ([]*entity.Task, error)
GetTasksForProcessing retrieves and locks tasks ready for processing, updating their status to pending.
func (*Storage) HardUpdateTask ¶
HardUpdateTask updates a task without automatically setting the updated_at timestamp.
func (*Storage) ResetAttempts ¶ added in v0.1.1
ResetAttempts resets the retry attempts counter for a task and sets its status back to new.