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  }