Documentation
¶
Overview ¶
Package memqueue is an in-process implementation of queue.Queue, backed by mutex-protected slices instead of Redis. Intended for tests, local development, and running pulse without any external infra — not a high-throughput production primitive (DequeuePriorityBlocking polls rather than blocking on a true wakeup signal).
Index ¶
- type Queue
- func (q *Queue) DequeuePriorityBlocking(timeout time.Duration) (string, string, error)
- func (q *Queue) EnqueueToDLQ(taskID string) error
- func (q *Queue) EnqueueWithPriority(taskID, priority string) error
- func (q *Queue) GetDLQItems() ([]string, error)
- func (q *Queue) GetQueueDepths() (map[string]int64, error)
- func (q *Queue) PromoteScheduled() error
- func (q *Queue) RemoveFromDLQ(taskID string) error
- func (q *Queue) Schedule(taskID, priority string, executeAt time.Time) error
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-process priority queue with delayed scheduling and a DLQ.
func (*Queue) DequeuePriorityBlocking ¶
DequeuePriorityBlocking polls (rather than blocking on a true wakeup signal) until an item is available or timeout elapses.
func (*Queue) EnqueueToDLQ ¶
func (*Queue) EnqueueWithPriority ¶
func (*Queue) GetDLQItems ¶
func (*Queue) PromoteScheduled ¶
func (*Queue) RemoveFromDLQ ¶
Click to show internal directories.
Click to hide internal directories.