gitee.com/woood2/luca@v1.0.4/cmd/consumer/internal/handler/greet_one.go (about)

     1  package handler
     2  
     3  import (
     4  	"context"
     5  	"gitee.com/woood2/luca/cmd/consumer/internal/middleware"
     6  	"gitee.com/woood2/luca/cmd/consumer/internal/subscriber"
     7  	"gitee.com/woood2/luca/internal/mq"
     8  	"gitee.com/woood2/luca/internal/trace"
     9  	"github.com/Shopify/sarama"
    10  	"go.uber.org/zap"
    11  )
    12  
    13  func registerGreetOne(project, entrance string, logger *zap.Logger) {
    14  	handler := subscriber.NewChain(
    15  		middleware.Metrics(GroupGreetOne, logger),
    16  		middleware.Trace(project+"-"+entrance+"-"+GroupGreetOne, logger),
    17  		middleware.Logging(GroupGreetOne, logger),
    18  	).Then(makeGreetOneHandler(logger))
    19  	subscriber.Append(mq.TopicGreet, GroupGreetOne, false, handler, logger)
    20  }
    21  
    22  func makeGreetOneHandler(logger *zap.Logger) subscriber.MsgHandler {
    23  	return func(ctx context.Context, message *sarama.ConsumerMessage, retry int) bool {
    24  		//panic("wow")
    25  		g:=&mq.Greet{}
    26  		g.Decode(message.Value)
    27  		logger.Debug("Message claimed",
    28  			zap.String("traceID", trace.ID(ctx)),
    29  			zap.Int("retry", retry),
    30  			zap.Any("value", g),
    31  			zap.Time("time", message.Timestamp),
    32  			zap.String("topic", message.Topic),
    33  			zap.String("groupID", GroupGreetOne),
    34  		)
    35  		return false
    36  	}
    37  }