定义延迟队列生产者接口以及基于redis的实现
This commit is contained in:
18
delay/abstract.go
Normal file
18
delay/abstract.go
Normal file
@ -0,0 +1,18 @@
|
||||
// Package delay ...
|
||||
//
|
||||
// Description : delay ...
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 2022-07-06 18:06
|
||||
package delay
|
||||
|
||||
// IProduce 生产者约束
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 18:06 2022/7/6
|
||||
type IProduce interface {
|
||||
// Produce 生产数据
|
||||
Produce(data *Queue) error
|
||||
}
|
19
delay/define.go
Normal file
19
delay/define.go
Normal file
@ -0,0 +1,19 @@
|
||||
// Package delay ...
|
||||
//
|
||||
// Description : delay ...
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 2022-07-06 17:55
|
||||
package delay
|
||||
|
||||
// Queue 队列数据
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 17:56 2022/7/6
|
||||
type Queue struct {
|
||||
Name string `json:"name"` // 队列名称
|
||||
DelayTime int `json:"delay_time"` // 延迟执行时间
|
||||
Data map[string]interface{} `json:"data"` // 入队数据
|
||||
}
|
39
delay/redis_produce.go
Normal file
39
delay/redis_produce.go
Normal file
@ -0,0 +1,39 @@
|
||||
// Package delay ...
|
||||
//
|
||||
// Description : delay ...
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 2022-07-06 17:59
|
||||
package delay
|
||||
|
||||
import (
|
||||
"github.com/go-redis/redis/v8"
|
||||
)
|
||||
|
||||
// NewRedisQueue 获取redis队列实例
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 18:09 2022/7/6
|
||||
func NewRedisQueue(redisInstance *redis.Client) IProduce {
|
||||
return &redisProduce{client: redisInstance}
|
||||
}
|
||||
|
||||
// withRedis 使用redis实现延迟队列
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 17:59 2022/7/6
|
||||
type redisProduce struct {
|
||||
client *redis.Client
|
||||
}
|
||||
|
||||
// Produce 生产数据
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 18:03 2022/7/6
|
||||
func (rp *redisProduce) Produce(data *Queue) error {
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user