增加基于内存的事件发送

This commit is contained in:
2024-07-17 12:47:09 +08:00
parent b5ea528036
commit 10f0eb484f
4 changed files with 226 additions and 25 deletions

View File

@ -31,6 +31,10 @@ var (
// Date : 16:24 2024/6/25
func InitRedisPubSubEvent(redisClient *redis.Client, pubSubConfig *define.RedisEventPubSubConfig) {
instance := &RedisEventPubSub{
base: &base{
panicCallback: define.DefaultPanicCallback,
parseFailCallback: define.DefaultParseFailCallbackFunc,
},
redisClient: redisClient,
pubSubConfig: pubSubConfig,
}
@ -45,12 +49,12 @@ func InitRedisPubSubEvent(redisClient *redis.Client, pubSubConfig *define.RedisE
//
// Date : 16:07 2024/6/25
type RedisEventPubSub struct {
*base
redisClient *redis.Client // redis客户端
pubSubConfig *define.RedisEventPubSubConfig // 事件配置
messageChan chan *define.EventData // 消息队列
stopConsumer chan bool // 停止消费者
isStop bool // 是否已停止
panicCallback abstract.PanicCallback // panic回调
parseFailCallback abstract.EventParseFailCallback // 数据解析失败回调
}
@ -120,30 +124,6 @@ func (r *RedisEventPubSub) GetConsumeEventChan() (<-chan *define.EventData, erro
return r.messageChan, nil
}
// SetPanicCallback 出现任何panic的回调
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 18:02 2024/6/26
func (r *RedisEventPubSub) SetPanicCallback(panicCallback abstract.PanicCallback) {
if nil == panicCallback {
panicCallback = define.DefaultPanicCallback
}
r.panicCallback = panicCallback
}
// SetEventParseFailCallback 设置事件解析失败回回调函数
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 18:42 2024/6/27
func (r *RedisEventPubSub) SetEventParseFailCallback(parseFailCallbackCallback abstract.EventParseFailCallback) {
if nil == parseFailCallbackCallback {
parseFailCallbackCallback = define.DefaultParseFailCallbackFunc
}
r.parseFailCallback = parseFailCallbackCallback
}
// ConsumeEvent 获取数据消费实例
//
// Author : go_developer@163.com<白茶清欢>