47 lines
1.5 KiB
Go
47 lines
1.5 KiB
Go
// Package abstract ...
|
|
//
|
|
// Description : abstract ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 2025-08-27 08:54
|
|
package abstract
|
|
|
|
import (
|
|
"context"
|
|
|
|
"git.zhangdeman.cn/zhangdeman/queue/define"
|
|
)
|
|
|
|
// IProducerHandler 生产者数据处理的接口约束
|
|
type IProducerHandler interface {
|
|
Lock(ctx context.Context, data *define.EventData) error // 逻辑加锁
|
|
Unlock(ctx context.Context, data *define.EventData) error // 逻辑释放锁
|
|
SuccessCallback(ctx context.Context, data *define.EventData, result *define.EventProduceResult) // 成功回调
|
|
FailureCallback(ctx context.Context, data *define.EventData, result *define.EventProduceResult) // 失败回调
|
|
PanicCallback(ctx context.Context, data *define.EventData, e any) // panic回调
|
|
}
|
|
|
|
type DefaultProducerHandler struct {
|
|
}
|
|
|
|
func (d DefaultProducerHandler) Lock(ctx context.Context, data *define.EventData) error {
|
|
return nil
|
|
}
|
|
|
|
func (d DefaultProducerHandler) Unlock(ctx context.Context, data *define.EventData) error {
|
|
return nil
|
|
}
|
|
|
|
func (d DefaultProducerHandler) SuccessCallback(ctx context.Context, data *define.EventData, result *define.EventProduceResult) {
|
|
return
|
|
}
|
|
|
|
func (d DefaultProducerHandler) FailureCallback(ctx context.Context, data *define.EventData, result *define.EventProduceResult) {
|
|
return
|
|
}
|
|
|
|
func (d DefaultProducerHandler) PanicCallback(ctx context.Context, data *define.EventData, e any) {
|
|
return
|
|
}
|