queues

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 21, 2025 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Overview

Package queues is a generated GoMock package.

Index

Constants

This section is empty.

Variables

View Source
var ErrCheckpointMissing = errors.New("checkpoint key missing from Redis")

ErrCheckpointMissing indicates that the checkpoint key is missing from Redis

Functions

This section is empty.

Types

type ConsumeHandler

type ConsumeHandler func(ctx context.Context, payload []byte, entryID string, consumer QueueConsumer, log logrus.FieldLogger) error

type MockProvider

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

MockProvider is a mock of Provider interface.

func NewMockProvider

func NewMockProvider(ctrl *gomock.Controller) *MockProvider

NewMockProvider creates a new mock instance.

func (*MockProvider) AdvanceCheckpointAndCleanup added in v0.10.0

func (m *MockProvider) AdvanceCheckpointAndCleanup(ctx context.Context) error

AdvanceCheckpointAndCleanup mocks base method.

func (*MockProvider) CheckHealth added in v0.10.0

func (m *MockProvider) CheckHealth(ctx context.Context) error

CheckHealth mocks base method.

func (*MockProvider) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockProvider) GetLatestProcessedTimestamp added in v0.10.0

func (m *MockProvider) GetLatestProcessedTimestamp(ctx context.Context) (time.Time, error)

GetLatestProcessedTimestamp mocks base method.

func (*MockProvider) NewPubSubPublisher added in v0.10.0

func (m *MockProvider) NewPubSubPublisher(ctx context.Context, channelName string) (PubSubPublisher, error)

NewPubSubPublisher mocks base method.

func (*MockProvider) NewPubSubSubscriber added in v0.10.0

func (m *MockProvider) NewPubSubSubscriber(ctx context.Context, channelName string) (PubSubSubscriber, error)

NewPubSubSubscriber mocks base method.

func (*MockProvider) NewQueueConsumer added in v0.10.0

func (m *MockProvider) NewQueueConsumer(ctx context.Context, queueName string) (QueueConsumer, error)

NewQueueConsumer mocks base method.

func (*MockProvider) NewQueueProducer added in v0.10.0

func (m *MockProvider) NewQueueProducer(ctx context.Context, queueName string) (QueueProducer, error)

NewQueueProducer mocks base method.

func (*MockProvider) ProcessTimedOutMessages added in v0.10.0

func (m *MockProvider) ProcessTimedOutMessages(ctx context.Context, queueName string, timeout time.Duration, handler func(string, []byte) error) (int, error)

ProcessTimedOutMessages mocks base method.

func (*MockProvider) RetryFailedMessages added in v0.10.0

func (m *MockProvider) RetryFailedMessages(ctx context.Context, queueName string, config RetryConfig, handler func(string, []byte, int) error) (int, error)

RetryFailedMessages mocks base method.

func (*MockProvider) SetCheckpointTimestamp added in v0.10.0

func (m *MockProvider) SetCheckpointTimestamp(ctx context.Context, timestamp time.Time) error

SetCheckpointTimestamp mocks base method.

func (*MockProvider) Stop

func (m *MockProvider) Stop()

Stop mocks base method.

func (*MockProvider) Wait

func (m *MockProvider) Wait()

Wait mocks base method.

type MockProviderMockRecorder

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

MockProviderMockRecorder is the mock recorder for MockProvider.

func (*MockProviderMockRecorder) AdvanceCheckpointAndCleanup added in v0.10.0

func (mr *MockProviderMockRecorder) AdvanceCheckpointAndCleanup(ctx any) *gomock.Call

AdvanceCheckpointAndCleanup indicates an expected call of AdvanceCheckpointAndCleanup.

func (*MockProviderMockRecorder) CheckHealth added in v0.10.0

func (mr *MockProviderMockRecorder) CheckHealth(ctx any) *gomock.Call

CheckHealth indicates an expected call of CheckHealth.

func (*MockProviderMockRecorder) GetLatestProcessedTimestamp added in v0.10.0

func (mr *MockProviderMockRecorder) GetLatestProcessedTimestamp(ctx any) *gomock.Call

GetLatestProcessedTimestamp indicates an expected call of GetLatestProcessedTimestamp.

func (*MockProviderMockRecorder) NewPubSubPublisher added in v0.10.0

func (mr *MockProviderMockRecorder) NewPubSubPublisher(ctx, channelName any) *gomock.Call

NewPubSubPublisher indicates an expected call of NewPubSubPublisher.

func (*MockProviderMockRecorder) NewPubSubSubscriber added in v0.10.0

func (mr *MockProviderMockRecorder) NewPubSubSubscriber(ctx, channelName any) *gomock.Call

NewPubSubSubscriber indicates an expected call of NewPubSubSubscriber.

func (*MockProviderMockRecorder) NewQueueConsumer added in v0.10.0

func (mr *MockProviderMockRecorder) NewQueueConsumer(ctx, queueName any) *gomock.Call

NewQueueConsumer indicates an expected call of NewQueueConsumer.

func (*MockProviderMockRecorder) NewQueueProducer added in v0.10.0

func (mr *MockProviderMockRecorder) NewQueueProducer(ctx, queueName any) *gomock.Call

NewQueueProducer indicates an expected call of NewQueueProducer.

func (*MockProviderMockRecorder) ProcessTimedOutMessages added in v0.10.0

func (mr *MockProviderMockRecorder) ProcessTimedOutMessages(ctx, queueName, timeout, handler any) *gomock.Call

ProcessTimedOutMessages indicates an expected call of ProcessTimedOutMessages.

func (*MockProviderMockRecorder) RetryFailedMessages added in v0.10.0

func (mr *MockProviderMockRecorder) RetryFailedMessages(ctx, queueName, config, handler any) *gomock.Call

RetryFailedMessages indicates an expected call of RetryFailedMessages.

func (*MockProviderMockRecorder) SetCheckpointTimestamp added in v0.10.0

func (mr *MockProviderMockRecorder) SetCheckpointTimestamp(ctx, timestamp any) *gomock.Call

SetCheckpointTimestamp indicates an expected call of SetCheckpointTimestamp.

func (*MockProviderMockRecorder) Stop

func (mr *MockProviderMockRecorder) Stop() *gomock.Call

Stop indicates an expected call of Stop.

func (*MockProviderMockRecorder) Wait

func (mr *MockProviderMockRecorder) Wait() *gomock.Call

Wait indicates an expected call of Wait.

type MockPubSubPublisher added in v0.10.0

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

MockPubSubPublisher is a mock of PubSubPublisher interface.

func NewMockPubSubPublisher added in v0.10.0

func NewMockPubSubPublisher(ctrl *gomock.Controller) *MockPubSubPublisher

NewMockPubSubPublisher creates a new mock instance.

func (*MockPubSubPublisher) Close added in v0.10.0

func (m *MockPubSubPublisher) Close()

Close mocks base method.

func (*MockPubSubPublisher) EXPECT added in v0.10.0

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockPubSubPublisher) Publish added in v0.10.0

func (m *MockPubSubPublisher) Publish(ctx context.Context, payload []byte) error

Publish mocks base method.

type MockPubSubPublisherMockRecorder added in v0.10.0

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

MockPubSubPublisherMockRecorder is the mock recorder for MockPubSubPublisher.

func (*MockPubSubPublisherMockRecorder) Close added in v0.10.0

Close indicates an expected call of Close.

func (*MockPubSubPublisherMockRecorder) Publish added in v0.10.0

func (mr *MockPubSubPublisherMockRecorder) Publish(ctx, payload any) *gomock.Call

Publish indicates an expected call of Publish.

type MockPubSubSubscriber added in v0.10.0

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

MockPubSubSubscriber is a mock of PubSubSubscriber interface.

func NewMockPubSubSubscriber added in v0.10.0

func NewMockPubSubSubscriber(ctrl *gomock.Controller) *MockPubSubSubscriber

NewMockPubSubSubscriber creates a new mock instance.

func (*MockPubSubSubscriber) Close added in v0.10.0

func (m *MockPubSubSubscriber) Close()

Close mocks base method.

func (*MockPubSubSubscriber) EXPECT added in v0.10.0

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockPubSubSubscriber) Subscribe added in v0.10.0

func (m *MockPubSubSubscriber) Subscribe(ctx context.Context, handler PubSubHandler) (Subscription, error)

Subscribe mocks base method.

type MockPubSubSubscriberMockRecorder added in v0.10.0

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

MockPubSubSubscriberMockRecorder is the mock recorder for MockPubSubSubscriber.

func (*MockPubSubSubscriberMockRecorder) Close added in v0.10.0

Close indicates an expected call of Close.

func (*MockPubSubSubscriberMockRecorder) Subscribe added in v0.10.0

func (mr *MockPubSubSubscriberMockRecorder) Subscribe(ctx, handler any) *gomock.Call

Subscribe indicates an expected call of Subscribe.

type MockQueueConsumer added in v0.10.0

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

MockQueueConsumer is a mock of QueueConsumer interface.

func NewMockQueueConsumer added in v0.10.0

func NewMockQueueConsumer(ctrl *gomock.Controller) *MockQueueConsumer

NewMockQueueConsumer creates a new mock instance.

func (*MockQueueConsumer) Close added in v0.10.0

func (m *MockQueueConsumer) Close()

Close mocks base method.

func (*MockQueueConsumer) Complete added in v0.10.0

func (m *MockQueueConsumer) Complete(ctx context.Context, entryID string, body []byte, processingErr error) error

Complete mocks base method.

func (*MockQueueConsumer) Consume added in v0.10.0

func (m *MockQueueConsumer) Consume(ctx context.Context, handler ConsumeHandler) error

Consume mocks base method.

func (*MockQueueConsumer) EXPECT added in v0.10.0

EXPECT returns an object that allows the caller to indicate expected use.

type MockQueueConsumerMockRecorder added in v0.10.0

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

MockQueueConsumerMockRecorder is the mock recorder for MockQueueConsumer.

func (*MockQueueConsumerMockRecorder) Close added in v0.10.0

Close indicates an expected call of Close.

func (*MockQueueConsumerMockRecorder) Complete added in v0.10.0

func (mr *MockQueueConsumerMockRecorder) Complete(ctx, entryID, body, processingErr any) *gomock.Call

Complete indicates an expected call of Complete.

func (*MockQueueConsumerMockRecorder) Consume added in v0.10.0

func (mr *MockQueueConsumerMockRecorder) Consume(ctx, handler any) *gomock.Call

Consume indicates an expected call of Consume.

type MockQueueProducer added in v0.10.0

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

MockQueueProducer is a mock of QueueProducer interface.

func NewMockQueueProducer added in v0.10.0

func NewMockQueueProducer(ctrl *gomock.Controller) *MockQueueProducer

NewMockQueueProducer creates a new mock instance.

func (*MockQueueProducer) Close added in v0.10.0

func (m *MockQueueProducer) Close()

Close mocks base method.

func (*MockQueueProducer) EXPECT added in v0.10.0

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockQueueProducer) Enqueue added in v0.10.0

func (m *MockQueueProducer) Enqueue(ctx context.Context, payload []byte, timestamp int64) error

Enqueue mocks base method.

type MockQueueProducerMockRecorder added in v0.10.0

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

MockQueueProducerMockRecorder is the mock recorder for MockQueueProducer.

func (*MockQueueProducerMockRecorder) Close added in v0.10.0

Close indicates an expected call of Close.

func (*MockQueueProducerMockRecorder) Enqueue added in v0.10.0

func (mr *MockQueueProducerMockRecorder) Enqueue(ctx, payload, timestamp any) *gomock.Call

Enqueue indicates an expected call of Enqueue.

type MockSubscription added in v0.10.0

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

MockSubscription is a mock of Subscription interface.

func NewMockSubscription added in v0.10.0

func NewMockSubscription(ctrl *gomock.Controller) *MockSubscription

NewMockSubscription creates a new mock instance.

func (*MockSubscription) Close added in v0.10.0

func (m *MockSubscription) Close()

Close mocks base method.

func (*MockSubscription) EXPECT added in v0.10.0

EXPECT returns an object that allows the caller to indicate expected use.

type MockSubscriptionMockRecorder added in v0.10.0

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

MockSubscriptionMockRecorder is the mock recorder for MockSubscription.

func (*MockSubscriptionMockRecorder) Close added in v0.10.0

Close indicates an expected call of Close.

type Provider

type Provider interface {
	NewQueueConsumer(ctx context.Context, queueName string) (QueueConsumer, error)
	NewQueueProducer(ctx context.Context, queueName string) (QueueProducer, error)
	NewPubSubPublisher(ctx context.Context, channelName string) (PubSubPublisher, error)
	NewPubSubSubscriber(ctx context.Context, channelName string) (PubSubSubscriber, error)
	ProcessTimedOutMessages(ctx context.Context, queueName string, timeout time.Duration, handler func(entryID string, body []byte) error) (int, error)
	RetryFailedMessages(ctx context.Context, queueName string, config RetryConfig, handler func(entryID string, body []byte, retryCount int) error) (int, error)
	Stop()
	Wait()
	// CheckHealth verifies the provider is operational (e.g. Redis PING)
	CheckHealth(ctx context.Context) error
	// GetLatestProcessedTimestamp returns the latest timestamp that can be safely checkpointed
	// Returns the earliest in-flight task timestamp, or zero time if no in-flight tasks
	GetLatestProcessedTimestamp(ctx context.Context) (time.Time, error)
	// AdvanceCheckpointAndCleanup atomically advances the checkpoint by scanning in-flight tasks
	// and cleans up completed tasks before the checkpoint timestamp
	AdvanceCheckpointAndCleanup(ctx context.Context) error
	// SetCheckpointTimestamp sets the checkpoint to a specific timestamp (for recovery)
	SetCheckpointTimestamp(ctx context.Context, timestamp time.Time) error
}

func NewRedisProvider added in v0.4.0

func NewRedisProvider(ctx context.Context, log logrus.FieldLogger, processID string, hostname string, port uint, password api.SecureString, retryConfig RetryConfig) (Provider, error)

type PubSubHandler added in v0.10.0

type PubSubHandler func(ctx context.Context, payload []byte, log logrus.FieldLogger) error

PubSubHandler is called when a broadcast message is received

type PubSubPublisher added in v0.10.0

type PubSubPublisher interface {
	Publish(ctx context.Context, payload []byte) error
	Close()
}

PubSubPublisher sends messages to all active subscribers on a channel

type PubSubSubscriber added in v0.10.0

type PubSubSubscriber interface {
	Subscribe(ctx context.Context, handler PubSubHandler) (Subscription, error)
	Close()
}

PubSubSubscriber creates subscriptions to receive broadcast messages from a channel

type QueueConsumer added in v0.10.0

type QueueConsumer interface {
	Consume(ctx context.Context, handler ConsumeHandler) error
	Complete(ctx context.Context, entryID string, body []byte, processingErr error) error
	Close()
}

type QueueProducer added in v0.10.0

type QueueProducer interface {
	Enqueue(ctx context.Context, payload []byte, timestamp int64) error
	Close()
}

type RetryConfig added in v0.10.0

type RetryConfig struct {
	BaseDelay    time.Duration // Base delay for exponential backoff
	MaxRetries   int           // Maximum number of retry attempts
	MaxDelay     time.Duration // Maximum delay cap
	JitterFactor float64       // Jitter factor (0.0 to 1.0)
}

RetryConfig holds configuration for exponential backoff retry logic

func DefaultRetryConfig added in v0.10.0

func DefaultRetryConfig() RetryConfig

DefaultRetryConfig returns a sensible default retry configuration

type Subscription added in v0.10.0

type Subscription interface {
	Close()
}

Subscription represents an active subscription that can be closed independently

Jump to

Keyboard shortcuts

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