queues

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 5, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

func NewQueue

func NewQueue(name string) *queue

NewQueue - Create a new Queue resource

Types

type FailedMessage

type FailedMessage struct {
	// Message - The message that failed to queue
	Message map[string]interface{}
	// Reason - Reason for the failure
	Reason string
}

type Queue

type Queue interface {
	// Allow requests the given permissions to the queue.
	Allow(permission QueuePermission, permissions ...QueuePermission) *QueueClient
}

type QueueClient

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

func NewQueueClient

func NewQueueClient(name string) (*QueueClient, error)

func (*QueueClient) Dequeue

func (q *QueueClient) Dequeue(ctx context.Context, depth int) ([]ReceivedMessage, error)

func (*QueueClient) Enqueue

func (q *QueueClient) Enqueue(ctx context.Context, messages []map[string]interface{}) ([]*FailedMessage, error)

func (*QueueClient) Name

func (q *QueueClient) Name() string

type QueueClientIface

type QueueClientIface interface {
	// Name - The name of the queue
	Name() string
	// Enqueue - Push a number of messages to a queue
	Enqueue(ctx context.Context, messages []map[string]interface{}) ([]*FailedMessage, error)
	// Dequeue - Retrieve messages from a queue to a maximum of the given depth
	Dequeue(ctx context.Context, depth int) ([]ReceivedMessage, error)
}

QueueClientIface is a resource for async enqueueing/dequeueing of messages.

type QueuePermission

type QueuePermission string
const (
	QueueEnqueue QueuePermission = "enqueue"
	QueueDequeue QueuePermission = "dequeue"
)

type ReceivedMessage

type ReceivedMessage interface {
	// Queue - Returns the name of the queue this message was retrieved from
	Queue() string
	// Message - Returns the Message data contained in this Received Message instance
	Message() map[string]interface{}
	// Complete - Completes the message removing it from the queue
	Complete(context.Context) error
}

Jump to

Keyboard shortcuts

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