Documentation
¶
Index ¶
- Constants
- type Queue
- func (q *Queue[T]) Dequeue(ctx context.Context) (*QueueItem[T], error)
- func (q *Queue[T]) DequeueN(ctx context.Context, n int) ([]*QueueItem[T], error)
- func (q *Queue[T]) Enqueue(ctx context.Context, id string, data T) error
- func (q *Queue[T]) GetAll(ctx context.Context) ([]*QueueItem[T], error)
- func (q *Queue[T]) Peek(ctx context.Context) (*QueueItem[T], error)
- func (q *Queue[T]) Remove(ctx context.Context, id string) error
- func (q *Queue[T]) Size(ctx context.Context) (int64, error)
- func (q *Queue[T]) StartProcessor(ctx context.Context, ...)
- type QueueItem
Constants ¶
View Source
const POLL_INTERVAL = 5 * time.Second
Default poll interval for processor
View Source
const QUEUE_CONCURRENCY = 2
Default concurrency for processor
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Queue ¶
type Queue[T any] struct { // contains filtered or unexported fields }
Prirority queue implementation using redis sorted set
func (*Queue[T]) Enqueue ¶
Add an item to queue ! TODO - now we don't care about priority but we might in the future (e.g. production vs dev environment)
Click to show internal directories.
Click to hide internal directories.