|
|
|
@ -4,11 +4,12 @@ import ( |
|
|
|
"fmt" |
|
|
|
"goInOut/config" |
|
|
|
"goInOut/consumers" |
|
|
|
"gopkg.in/natefinch/lumberjack.v2" |
|
|
|
"io" |
|
|
|
"log" |
|
|
|
"os" |
|
|
|
"time" |
|
|
|
|
|
|
|
"gopkg.in/natefinch/lumberjack.v2" |
|
|
|
) |
|
|
|
|
|
|
|
func init() { |
|
|
|
@ -31,6 +32,7 @@ func main() { |
|
|
|
//初始化读取配置
|
|
|
|
myConfigs := config.LoadConfig() //数据存储
|
|
|
|
for consumerName, consumerConfig := range myConfigs { |
|
|
|
log.Printf("consumer [%s]", consumerName) |
|
|
|
consumer := consumers.GetConsumer(consumerName) |
|
|
|
if consumer == nil { |
|
|
|
log.Printf("无匹配的consumer [%s] 请检查", consumerName) |
|
|
|
@ -41,7 +43,12 @@ func main() { |
|
|
|
if err != nil { |
|
|
|
log.Panic(fmt.Sprintf("[%s]初始化失败:%s", consumerName, err.Error())) |
|
|
|
} |
|
|
|
consumer.Work() |
|
|
|
|
|
|
|
// 在独立的 goroutine 中运行每个消费者,使它们可以并行执行
|
|
|
|
go func(name string, c consumers.IConsumer) { |
|
|
|
log.Printf("启动消费者: %s", name) |
|
|
|
c.Work() |
|
|
|
}(consumerName, consumer) |
|
|
|
} |
|
|
|
|
|
|
|
for { |
|
|
|
|