// 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 }