redis

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2025 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Options

type Options struct {
	// Redis连接地址
	Addr string
	// Redis密码
	Password string
	// Redis数据库
	DB int
	// 最大重试次数
	MaxRetries int
	// 连接池大小
	PoolSize int
}

Options Redis队列配置选项

func DefaultOptions

func DefaultOptions() Options

DefaultOptions 返回默认配置选项

type RedisQueue

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

RedisQueue 是基于Redis的队列实现

func New

func New(options Options) (*RedisQueue, error)

New 创建一个新的Redis队列

func (*RedisQueue) Clear

func (r *RedisQueue) Clear(ctx context.Context, queueName string) error

Clear 清空队列

func (*RedisQueue) Close

func (r *RedisQueue) Close() error

Close 关闭Redis连接

func (*RedisQueue) Delete

func (r *RedisQueue) Delete(ctx context.Context, queueName string, jobID string) error

Delete 删除任务

func (*RedisQueue) Get

func (r *RedisQueue) Get(ctx context.Context, queueName string, jobID string) (*queue.Job, error)

Get 获取任务信息

func (*RedisQueue) ProcessNext

func (r *RedisQueue) ProcessNext(ctx context.Context, queueName string) error

ProcessNext 处理队列中的下一个任务

func (*RedisQueue) Push

func (r *RedisQueue) Push(ctx context.Context, queueName string, jobName string, payload map[string]interface{}) (string, error)

Push 将任务推送到队列

func (*RedisQueue) PushWithDelay

func (r *RedisQueue) PushWithDelay(ctx context.Context, queueName string, jobName string, payload map[string]interface{}, delay time.Duration) (string, error)

PushWithDelay 延迟执行任务

func (*RedisQueue) Register

func (r *RedisQueue) Register(jobName string, handler queue.Handler)

Register 注册任务处理器

func (*RedisQueue) Retry

func (r *RedisQueue) Retry(ctx context.Context, queueName string, jobID string) error

Retry 重试失败的任务

func (*RedisQueue) Schedule

func (r *RedisQueue) Schedule(ctx context.Context, queueName string, jobName string, payload map[string]interface{}, scheduledAt time.Time) (string, error)

Schedule 计划在特定时间执行任务

func (*RedisQueue) Size

func (r *RedisQueue) Size(ctx context.Context, queueName string) (int, error)

Size 获取队列大小

func (*RedisQueue) StartWorker

func (r *RedisQueue) StartWorker(ctx context.Context, queueName string, concurrency int) error

StartWorker 启动工作进程

func (*RedisQueue) StopWorker

func (r *RedisQueue) StopWorker(ctx context.Context, queueName string) error

StopWorker 停止工作进程

Jump to

Keyboard shortcuts

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