Browse Source

同时运行多个配置文件

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

11
main.go

@ -4,11 +4,12 @@ import (
"fmt" "fmt"
"goInOut/config" "goInOut/config"
"goInOut/consumers" "goInOut/consumers"
"gopkg.in/natefinch/lumberjack.v2"
"io" "io"
"log" "log"
"os" "os"
"time" "time"
"gopkg.in/natefinch/lumberjack.v2"
) )
func init() { func init() {
@ -31,6 +32,7 @@ func main() {
//初始化读取配置 //初始化读取配置
myConfigs := config.LoadConfig() //数据存储 myConfigs := config.LoadConfig() //数据存储
for consumerName, consumerConfig := range myConfigs { for consumerName, consumerConfig := range myConfigs {
log.Printf("consumer [%s]", consumerName)
consumer := consumers.GetConsumer(consumerName) consumer := consumers.GetConsumer(consumerName)
if consumer == nil { if consumer == nil {
log.Printf("无匹配的consumer [%s] 请检查", consumerName) log.Printf("无匹配的consumer [%s] 请检查", consumerName)
@ -41,7 +43,12 @@ func main() {
if err != nil { if err != nil {
log.Panic(fmt.Sprintf("[%s]初始化失败:%s", consumerName, err.Error())) 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 { for {

Loading…
Cancel
Save