增加数据解析失败的回调

This commit is contained in:
白茶清欢 2024-06-27 18:52:20 +08:00
parent 2f6062a645
commit d9244e0f0c
3 changed files with 41 additions and 6 deletions

View File

@ -54,6 +54,13 @@ type ConsumeSuccessCallback func(eventData *define.EventData, handleResult map[s
// Date : 18:07 2024/6/26 // Date : 18:07 2024/6/26
type PanicCallback func(err any, eventData *define.EventData, handleResult map[string]any) type PanicCallback func(err any, eventData *define.EventData, handleResult map[string]any)
// EventParseFailCallback ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 18:48 2024/6/27
type EventParseFailCallback func(err error, eventData string)
// IEvent 事件接口定义 // IEvent 事件接口定义
// //
// Author : go_developer@163.com<白茶清欢> // Author : go_developer@163.com<白茶清欢>
@ -103,4 +110,10 @@ type IEvent interface {
// //
// Date : 18:39 2024/6/27 // Date : 18:39 2024/6/27
SetPanicCallback(panicCallback PanicCallback) SetPanicCallback(panicCallback PanicCallback)
// SetEventParseFailCallback 设置数据解析失败的处理函数
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 18:51 2024/6/27
SetEventParseFailCallback(parseFailCallbackCallback EventParseFailCallback)
} }

View File

@ -48,3 +48,12 @@ func DefaultSendFailCallback(ctx context.Context, eventData *EventData, eventRes
// //
// Date : 11:46 2024/6/27 // Date : 11:46 2024/6/27
func DefaultSendSuccessCallback(ctx context.Context, eventResult *SendResult) {} func DefaultSendSuccessCallback(ctx context.Context, eventResult *SendResult) {}
// DefaultParseFailCallbackFunc ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 18:49 2024/6/27
func DefaultParseFailCallbackFunc(err error, eventData string) {
}

View File

@ -45,12 +45,13 @@ func InitRedisPubSubEvent(redisClient *redis.Client, pubSubConfig *define.RedisE
// //
// Date : 16:07 2024/6/25 // Date : 16:07 2024/6/25
type RedisEventPubSub struct { type RedisEventPubSub struct {
redisClient *redis.Client // redis客户端 redisClient *redis.Client // redis客户端
pubSubConfig *define.RedisEventPubSubConfig // 事件配置 pubSubConfig *define.RedisEventPubSubConfig // 事件配置
messageChan chan *define.EventData // 消息队列 messageChan chan *define.EventData // 消息队列
stopConsumer chan bool // 停止消费者 stopConsumer chan bool // 停止消费者
isStop bool // 是否已停止 isStop bool // 是否已停止
panicCallback abstract.PanicCallback // panic回调 panicCallback abstract.PanicCallback // panic回调
parseFailCallback abstract.EventParseFailCallback // 数据解析失败回调
} }
// SendEvent 发布时间 // SendEvent 发布时间
@ -131,6 +132,18 @@ func (r *RedisEventPubSub) SetPanicCallback(panicCallback abstract.PanicCallback
r.panicCallback = panicCallback 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 获取数据消费实例 // ConsumeEvent 获取数据消费实例
// //
// Author : go_developer@163.com<白茶清欢> // Author : go_developer@163.com<白茶清欢>