package mixrepos import ( "context" "voucher/internal/pkg/mq" ) type MQSendMixRepo interface { // SendASync 异步发送消息,出错会自动写日志,errFn 中可以不用再写失败日志,可以处理一些数据纠正的操作等 SendASync(ctx context.Context, topicName string, body []byte, errFn func(error), sendOptions ...mq.SendOption) error // SendSync 同步发布消息,不建议使用,性能低,会阻塞Producer,直到返回了才能响应下一个send SendSync(ctx context.Context, topicName string, body []byte, sendOptions ...mq.SendOption) error SendAsyncNotFn(ctx context.Context, topic string, body []byte, sendOptions ...mq.SendOption) error }