本文整理汇总了Golang中github.com/Shopify/sarama.Broker.Close方法的典型用法代码示例。如果您正苦于以下问题:Golang Broker.Close方法的具体用法?Golang Broker.Close怎么用?Golang Broker.Close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/Shopify/sarama.Broker
的用法示例。
在下文中一共展示了Broker.Close方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: rebalance
// Start a rebalance cycle
func (cg *ConsumerGroup) rebalance() (err error) {
var cids []string
var pids []int32
// Fetch a list of consumers and listen for changes
if cids, cg.zkchange, err = cg.zoo.Consumers(cg.name); err != nil {
cg.zkchange = nil
return
}
// Fetch a list of partition IDs
if pids, err = cg.client.Partitions(cg.topic); err != nil {
cg.zkchange = nil
return
}
// Get leaders for each partition ID
parts := make(PartitionSlice, len(pids))
for i, pid := range pids {
var broker *sarama.Broker
if broker, err = cg.client.Leader(cg.topic, pid); err != nil {
cg.zkchange = nil
return
}
defer broker.Close()
parts[i] = Partition{Id: pid, Addr: broker.Addr()}
}
if err = cg.makeClaims(cids, parts); err != nil {
cg.zkchange = nil
cg.releaseClaims()
return
}
return
}
示例2: closeBroker
func closeBroker(b *sarama.Broker) {
if ok, _ := b.Connected(); ok {
b.Close()
}
}