feat: refactor the mq’s RegisterConsumer method to make it easier to inject (#581)

This commit is contained in:
Ryo
2025-08-05 18:05:32 +08:00
committed by GitHub
parent c11780b28d
commit c9c900adb0
7 changed files with 34 additions and 8 deletions

View File

@@ -24,7 +24,20 @@ type Producer interface {
BatchSend(ctx context.Context, bodyArr [][]byte, opts ...SendOpt) error
}
type Consumer interface{}
var defaultSVC ConsumerService
func SetDefaultSVC(svc ConsumerService) {
defaultSVC = svc
}
func GetDefaultSVC() ConsumerService {
return defaultSVC
}
type ConsumerService interface {
RegisterConsumer(nameServer, topic, group string, consumerHandler ConsumerHandler, opts ...ConsumerOpt) error
}
type ConsumerHandler interface {
HandleMessage(ctx context.Context, msg *Message) error
}