gitee.com/woood2/luca@v1.0.4/cmd/consumer/internal/alarm/alarm.go (about) 1 package alarm 2 3 import ( 4 "github.com/Shopify/sarama" 5 "log" 6 ) 7 8 type Alarm struct { 9 GroupID string 10 Msg *sarama.ConsumerMessage 11 Retry int 12 } 13 14 var alarmQueue = make(chan *Alarm, 1024) 15 16 func Yell(retry int, groupID string, msg *sarama.ConsumerMessage) { 17 if retry%10 != 0 { 18 return 19 } 20 a := &Alarm{ 21 GroupID: groupID, 22 Msg: msg, 23 Retry: retry, 24 } 25 select { 26 case alarmQueue <- a: 27 default: 28 log.Println("alarm.Yell: alarmQueue is full") 29 } 30 }