JCC-CSScheduler/collector/main.go

56 lines
1.3 KiB
Go

package main
import (
"fmt"
"os"
"gitlink.org.cn/cloudream/common/pkgs/logger"
"gitlink.org.cn/cloudream/scheduler/collector/internal/config"
"gitlink.org.cn/cloudream/scheduler/collector/internal/mq"
schglb "gitlink.org.cn/cloudream/scheduler/common/globals"
colmq "gitlink.org.cn/cloudream/scheduler/common/pkgs/mq/collector"
)
func main() {
err := config.Init()
if err != nil {
fmt.Printf("init config failed, err: %s", err.Error())
os.Exit(1)
}
err = logger.Init(&config.Cfg().Logger)
if err != nil {
fmt.Printf("init logger failed, err: %s", err.Error())
os.Exit(1)
}
schglb.InitCloudreamStoragePool(&config.Cfg().CloudreamStorage)
schglb.IniUnifyOpsPool(&config.Cfg().UnifyOps)
mqSvr, err := colmq.NewServer(mq.NewService(), &config.Cfg().RabbitMQ)
if err != nil {
logger.Fatalf("new collector server failed, err: %s", err.Error())
}
mqSvr.OnError(func(err error) {
logger.Warnf("collector server err: %s", err.Error())
})
// 启动服务
go serveColServer(mqSvr)
forever := make(chan bool)
<-forever
}
func serveColServer(server *colmq.Server) {
logger.Info("start serving command server")
err := server.Serve()
if err != nil {
logger.Errorf("command server stopped with error: %s", err.Error())
}
logger.Info("command server stopped")
}