mirror of
https://github.com/XShengTech/MEGREZ.git
synced 2026-01-14 00:57:17 +08:00
54 lines
960 B
Go
54 lines
960 B
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"megrez/services/config"
|
|
"megrez/services/database"
|
|
"megrez/services/dispatcher"
|
|
"megrez/services/http"
|
|
"megrez/services/instanceController"
|
|
"megrez/services/logger"
|
|
"megrez/services/redis"
|
|
"megrez/services/system"
|
|
"runtime"
|
|
)
|
|
|
|
var (
|
|
configFilePath = "config.yml"
|
|
l = logger.Logger.Clone()
|
|
)
|
|
|
|
func main() {
|
|
flag.StringVar(&configFilePath, "c", "config.yml", "config file path")
|
|
flag.Parse()
|
|
|
|
config.InitConfig(configFilePath)
|
|
|
|
defer func() {
|
|
redis.Close()
|
|
|
|
l.Close()
|
|
}()
|
|
defer func() {
|
|
defer func() {
|
|
if err := recover(); err != nil {
|
|
l.Error("Panic: %v", err)
|
|
buf := make([]byte, 1024)
|
|
n := runtime.Stack(buf, false)
|
|
l.Error("Stack trace: \n%s", buf[:n])
|
|
}
|
|
}()
|
|
}()
|
|
|
|
logger.InitLogger(config.GetLogLevel(), config.GetLogFile())
|
|
|
|
database.Connect()
|
|
redis.Connect()
|
|
instanceController.InitInstanceController()
|
|
dispatcher.Init()
|
|
|
|
go system.Check()
|
|
|
|
http.Start()
|
|
}
|