Browse Source

同时运行多个配置文件

dev^2
18209 1 week ago
parent
commit
997dc13067
  1. 11
      main.go

11
main.go

@ -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 {

Loading…
Cancel
Save