|
|
|
@ -22,6 +22,8 @@ func ServiceStart() {
|
|
|
|
|
|
|
|
|
|
cronMan.Every(5).Seconds().StartImmediately().Do(DBWatch)
|
|
|
|
|
|
|
|
|
|
cronMan.Every(10).Seconds().Do(LogProcess)
|
|
|
|
|
|
|
|
|
|
cronMan.StartAsync()
|
|
|
|
|
|
|
|
|
|
defer func() {
|
|
|
|
@ -36,6 +38,7 @@ func ServiceStart() {
|
|
|
|
|
|
|
|
|
|
KafkaUtil.ChanTopicProc = make(map[string][]chan bool)
|
|
|
|
|
KafkaUtil.StateTopicProc = make(map[string][]bool)
|
|
|
|
|
KafkaUtil.CountTopicProc = make(map[string][]int)
|
|
|
|
|
|
|
|
|
|
ChanTopic = make(chan []string, 100)
|
|
|
|
|
|
|
|
|
@ -48,9 +51,10 @@ func ServiceStart() {
|
|
|
|
|
|
|
|
|
|
LstTopic = append(LstTopic, topic)
|
|
|
|
|
|
|
|
|
|
//change by zhangjun 2020-08-02
|
|
|
|
|
cronMan.Every(60).Seconds().SetTag([]string{"kafka_" + topic}).StartImmediately().Do(KafkaProcess, topic, procNo)
|
|
|
|
|
//go KafkaProcess(topic, procNo)
|
|
|
|
|
|
|
|
|
|
//cronMan.StartAsync()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -93,6 +97,7 @@ func KafkaProcess(topic string, procNo int) {
|
|
|
|
|
|
|
|
|
|
var lst []chan bool
|
|
|
|
|
var lst2 []bool
|
|
|
|
|
var lst3 []int
|
|
|
|
|
|
|
|
|
|
for no := 0; no < procNo; no++ {
|
|
|
|
|
|
|
|
|
@ -100,12 +105,14 @@ func KafkaProcess(topic string, procNo int) {
|
|
|
|
|
|
|
|
|
|
lst = append(lst, chanProc)
|
|
|
|
|
lst2 = append(lst2, true)
|
|
|
|
|
lst3 = append(lst3, 0)
|
|
|
|
|
}
|
|
|
|
|
//add by zhangjun 2020-07-30
|
|
|
|
|
loc.Lock()
|
|
|
|
|
|
|
|
|
|
KafkaUtil.ChanTopicProc[topic] = lst
|
|
|
|
|
KafkaUtil.StateTopicProc[topic] = lst2
|
|
|
|
|
KafkaUtil.CountTopicProc[topic] = lst3
|
|
|
|
|
|
|
|
|
|
loc.Unlock()
|
|
|
|
|
|
|
|
|
@ -116,7 +123,7 @@ func KafkaProcess(topic string, procNo int) {
|
|
|
|
|
//开启子线程
|
|
|
|
|
go KafkaUtil.Consume(topic, "group_"+topic, no)
|
|
|
|
|
|
|
|
|
|
time.Sleep(time.Second *5)
|
|
|
|
|
time.Sleep(time.Second * 10)
|
|
|
|
|
}
|
|
|
|
|
} else { //TODO:处理异常子线程!!!
|
|
|
|
|
|
|
|
|
@ -125,10 +132,23 @@ func KafkaProcess(topic string, procNo int) {
|
|
|
|
|
fmt.Printf("Dataex Consume Kafka ,Topic:%s,ConsumerGroup:%s,GoroutineNO:%d.\n", topic, "group_"+topic, no)
|
|
|
|
|
|
|
|
|
|
KafkaUtil.StateTopicProc[topic][no] = true
|
|
|
|
|
KafkaUtil.CountTopicProc[topic][no] = 0
|
|
|
|
|
|
|
|
|
|
go KafkaUtil.Consume(topic, "group_"+topic, no)
|
|
|
|
|
|
|
|
|
|
time.Sleep(time.Second *5)
|
|
|
|
|
time.Sleep(time.Second * 10)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func LogProcess() {
|
|
|
|
|
|
|
|
|
|
for k,v:= range KafkaUtil.CountTopicProc{
|
|
|
|
|
|
|
|
|
|
if len(KafkaUtil.CountTopicProc[k])>0{
|
|
|
|
|
for no:=0;no< len(v);no++{
|
|
|
|
|
fmt.Println("Kafka Consume Topic:"+k,"【",time.Now(),"】 Process Total:",v[no])
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|