64 lines
1.7 KiB
Go
64 lines
1.7 KiB
Go
// Package delay ...
|
|
//
|
|
// Description : delay ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 2022-07-06 17:55
|
|
package delay
|
|
|
|
// ProduceData 生产的数据结构
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 18:56 2022/7/6
|
|
type ProduceData struct {
|
|
MsgID string `json:"msg_id"` // 消息ID
|
|
Timestamp int64 `json:"timestamp"` // 消息生成时间: ms
|
|
Host string `json:"host"` // 生产消息的机器IP
|
|
Data map[string]interface{} `json:"data"` // 传入的业务数据
|
|
}
|
|
|
|
// ZRangeData zRange读取的数据
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 14:24 2022/7/8
|
|
type ZRangeData struct {
|
|
Score int64 // 数据分值
|
|
Data *ProduceData // 实际业务数据
|
|
}
|
|
|
|
// Queue 队列数据
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 17:56 2022/7/6
|
|
type Queue struct {
|
|
Name string `json:"name"` // 队列名称
|
|
DelayTime int64 `json:"delay_time"` // 延迟执行时间
|
|
Data map[string]interface{} `json:"data"` // 入队数据
|
|
err error // 数据入队的异常信息
|
|
}
|
|
|
|
// Err 获取入队异常
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 18:37 2022/7/6
|
|
func (q *Queue) Err() error {
|
|
return q.err
|
|
}
|
|
|
|
// ConsumerConfig 消费者配置
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 14:12 2022/7/8
|
|
type ConsumerConfig struct {
|
|
QueueName string // 队列名称
|
|
SonQueueCnt int // 二级队列数量
|
|
SonQueName string // 二级队列名称
|
|
HashKey string // hash消息写到哪个二级队列的key, 若不配置或者key不存在, 使用 ProduceData.MsgID
|
|
}
|