93 lines
2.4 KiB
Go
93 lines
2.4 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"gitlink.org.cn/cloudream/common/pkgs/logger"
|
|
schglb "gitlink.org.cn/cloudream/scheduler/common/globals"
|
|
execmq "gitlink.org.cn/cloudream/scheduler/common/pkgs/mq/executor"
|
|
"gitlink.org.cn/cloudream/scheduler/executor/internal/config"
|
|
myglbs "gitlink.org.cn/cloudream/scheduler/executor/internal/globals"
|
|
"gitlink.org.cn/cloudream/scheduler/executor/internal/http"
|
|
"gitlink.org.cn/cloudream/scheduler/executor/internal/manager"
|
|
"gitlink.org.cn/cloudream/scheduler/executor/internal/services"
|
|
"os"
|
|
)
|
|
|
|
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.InitMQPool(&config.Cfg().RabbitMQ)
|
|
schglb.InitCloudreamStoragePool(&config.Cfg().CloudreamStorage)
|
|
schglb.InitPCMPool(&config.Cfg().PCM)
|
|
config.InitCloud(config.Cfg().CloudECS)
|
|
|
|
myglbs.Init(config.Cfg().Application.ExecutorID)
|
|
schglb.InitRcloneConfig(config.Cfg().Rclone.CDSRcloneID, config.Cfg().Rclone.CDSRcloneConfigID)
|
|
|
|
//rpter := reporter.NewReporter(myglbs.ExecutorID, time.Second*time.Duration(config.Cfg().ReportIntervalSec))
|
|
//
|
|
taskMgr := manager.NewManager()
|
|
//
|
|
//mqSvr, err := execmq.NewServer(services.NewService(&taskMgr), &config.Cfg().RabbitMQ)
|
|
//if err != nil {
|
|
// logger.Fatalf("new executor server failed, err: %s", err.Error())
|
|
//}
|
|
//
|
|
//mqSvr.OnError(func(err error) {
|
|
// logger.Warnf("executor server err: %s", err.Error())
|
|
//})
|
|
|
|
// 启动服务
|
|
//go serveMQServer(mqSvr)
|
|
|
|
//go serveReporter(&rpter)
|
|
|
|
svc := services.NewService(&taskMgr)
|
|
server, err := http.NewServer(config.Cfg().Application.Address, svc)
|
|
if err != nil {
|
|
logger.Warnf("new services failed, err: %s", err.Error())
|
|
os.Exit(1)
|
|
}
|
|
|
|
err = server.Serve()
|
|
if err != nil {
|
|
logger.Warnf("new services failed, err: %s", err.Error())
|
|
os.Exit(1)
|
|
}
|
|
|
|
forever := make(chan bool)
|
|
<-forever
|
|
}
|
|
|
|
func serveMQServer(server *execmq.Server) {
|
|
logger.Info("start serving mq server")
|
|
|
|
err := server.Serve()
|
|
if err != nil {
|
|
logger.Errorf("mq server stopped with error: %s", err.Error())
|
|
}
|
|
|
|
logger.Info("mq server stopped")
|
|
}
|
|
|
|
//func serveReporter(rpt *reporter.Reporter) {
|
|
// logger.Info("start serving reporter")
|
|
//
|
|
// err := rpt.Serve()
|
|
// if err != nil {
|
|
// logger.Errorf("rpt stopped with error: %s", err.Error())
|
|
// }
|
|
//
|
|
// logger.Info("rpt stopped")
|
|
//}
|