Documentation
¶
Overview ¶
Package redis provides a Redis-backed queue adapter with priority routing and distributed worker support.
Index ¶
- func NewRedisQueueWithConfig(config QueueConfig) (port.QueuePort, error)
- type QueueConfig
- type RedisQueue
- func (rq *RedisQueue) Dequeue(ctx context.Context, priority entity.Priority) (*entity.Job, error)
- func (rq *RedisQueue) Enqueue(ctx context.Context, job *entity.Job) error
- func (rq *RedisQueue) GetDepth(priority entity.Priority) int
- func (rq *RedisQueue) GetStats() *port.QueueStats
- func (rq *RedisQueue) Start(ctx context.Context) error
- func (rq *RedisQueue) Stop(ctx context.Context) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewRedisQueueWithConfig ¶
func NewRedisQueueWithConfig(config QueueConfig) (port.QueuePort, error)
Types ¶
type QueueConfig ¶
type QueueConfig struct {
// RedisAddr is the address of a standalone Redis server (e.g. "localhost:6379").
// Used only when Client is nil — a standalone redis.Client is created from this address.
// For Redis Cluster or Sentinel, set Client directly instead.
RedisAddr string
// Client is an optional pre-configured redis.UniversalClient.
// When set, RedisAddr is ignored. This allows passing in:
// - redis.NewClient() for standalone Redis
// - redis.NewClusterClient() for Redis Cluster
// - redis.NewFailoverClient() for Redis Sentinel
// - redis.NewUniversalClient() for auto-detection
Client redis.UniversalClient
QueueName string
QueueCapacity int
}
QueueConfig holds configuration for the Redis queue adapter.
type RedisQueue ¶
type RedisQueue struct {
// contains filtered or unexported fields
}
RedisQueue implements port.QueuePort backed by Redis.
Supports standalone Redis, Redis Cluster, and Redis Sentinel via redis.UniversalClient.
func (*RedisQueue) GetStats ¶
func (rq *RedisQueue) GetStats() *port.QueueStats
Click to show internal directories.
Click to hide internal directories.