利用系统信号来中断服务
利用系统信号中断服务,避免业务chan中的缓存的消息,没有完全被消费
// 建立系统信号接收管道signals := make(chan os.Signal, 1)
// 监听系统信号signal.Notify(signals, os.Interrupt)for {select {case part, ok := <-consumer.Partitions():if !ok {return}go func(pc cluster.PartitionConsumer) {for msg := range pc.Messages() {fmt.Println("kafka堆积情况:", len(KafkaDataClan))KafkaDataClan <- msg.Value}}(part)// 如果有信号过来,关闭循环case <-signals:return}}