memory

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Aug 20, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package memory provides an in-process priority queue backend for the queue package. It is fast and simple but not distributed or persistent — tasks are lost when the process exits.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Queue

type Queue struct {
	// contains filtered or unexported fields
}

Queue is an in-memory priority queue.

func New

func New(name string) *Queue

New creates a new in-memory queue with the given name.

func (*Queue) Ack

func (q *Queue) Ack(ctx context.Context, taskID string, status queue.TaskStatus, errMsg string) error

Ack marks a task as completed.

func (*Queue) AppendLog

func (q *Queue) AppendLog(ctx context.Context, entry *queue.TaskLogEntry) error

AppendLog appends an execution log entry for a task.

func (*Queue) Cancel

func (q *Queue) Cancel(ctx context.Context, taskID string) error

Cancel removes a pending task or marks a running task as canceled.

func (*Queue) Close

func (q *Queue) Close() error

Close releases all resources.

func (*Queue) Dequeue

func (q *Queue) Dequeue(ctx context.Context, timeout time.Duration) (*queue.Task, error)

Dequeue removes and returns the highest-priority pending task. If no task is available, it blocks up to timeout (if > 0).

func (*Queue) Enqueue

func (q *Queue) Enqueue(ctx context.Context, task *queue.Task) error

Enqueue adds a task to the queue.

func (*Queue) Get

func (q *Queue) Get(ctx context.Context, taskID string) (*queue.Task, error)

Get retrieves a task by ID.

func (*Queue) ListLogs

func (q *Queue) ListLogs(ctx context.Context, taskID string, limit int) ([]*queue.TaskLogEntry, error)

ListLogs returns execution log entries for a task, newest first.

func (*Queue) Name

func (q *Queue) Name() string

Name returns the queue name.

func (*Queue) Position

func (q *Queue) Position(ctx context.Context, taskID string) (int, error)

Position returns the queue position of a pending task (0 = next).

func (*Queue) Recover

func (q *Queue) Recover(ctx context.Context) ([]*queue.Task, error)

Recover returns pending and interrupted tasks for restart recovery. In-memory queue has no persistence — nothing to recover.

func (*Queue) Requeue

func (q *Queue) Requeue(ctx context.Context, taskID string) error

Requeue moves a task back to pending.

func (*Queue) Stats

func (q *Queue) Stats(ctx context.Context) (queue.QueueStats, error)

Stats returns current queue statistics.

func (*Queue) UpdateProgress

func (q *Queue) UpdateProgress(ctx context.Context, taskID string, progress int) error

UpdateProgress updates the execution progress of a running task.

Jump to

Keyboard shortcuts

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