initial commit
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
package app
|
||||
|
||||
import (
|
||||
"log"
|
||||
"s-ui/config"
|
||||
"s-ui/cronjob"
|
||||
"s-ui/database"
|
||||
"s-ui/logger"
|
||||
"s-ui/service"
|
||||
"s-ui/sub"
|
||||
"s-ui/web"
|
||||
|
||||
"github.com/op/go-logging"
|
||||
)
|
||||
|
||||
type APP struct {
|
||||
service.SettingService
|
||||
webServer *web.Server
|
||||
subServer *sub.Server
|
||||
cronJob *cronjob.CronJob
|
||||
}
|
||||
|
||||
func NewApp() *APP {
|
||||
return &APP{}
|
||||
}
|
||||
|
||||
func (a *APP) Init() error {
|
||||
log.Printf("%v %v", config.GetName(), config.GetVersion())
|
||||
|
||||
a.initLog()
|
||||
|
||||
err := database.InitDB(config.GetDBPath())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
a.cronJob = cronjob.NewCronJob()
|
||||
a.webServer = web.NewServer()
|
||||
a.subServer = sub.NewServer()
|
||||
|
||||
configService := service.NewConfigService()
|
||||
err = configService.InitConfig()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *APP) Start() error {
|
||||
loc, err := a.SettingService.GetTimeLocation()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = a.cronJob.Start(loc)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = a.webServer.Start()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = a.subServer.Start()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *APP) Stop() {
|
||||
a.cronJob.Stop()
|
||||
err := a.subServer.Stop()
|
||||
if err != nil {
|
||||
logger.Warning("stop Sub Server err:", err)
|
||||
}
|
||||
err = a.webServer.Stop()
|
||||
if err != nil {
|
||||
logger.Warning("stop Web Server err:", err)
|
||||
}
|
||||
}
|
||||
|
||||
func (a *APP) initLog() {
|
||||
switch config.GetLogLevel() {
|
||||
case config.Debug:
|
||||
logger.InitLogger(logging.DEBUG)
|
||||
case config.Info:
|
||||
logger.InitLogger(logging.INFO)
|
||||
case config.Warn:
|
||||
logger.InitLogger(logging.WARNING)
|
||||
case config.Error:
|
||||
logger.InitLogger(logging.ERROR)
|
||||
default:
|
||||
log.Fatal("unknown log level:", config.GetLogLevel())
|
||||
}
|
||||
}
|
||||
|
||||
func (a *APP) RestartApp() {
|
||||
a.Stop()
|
||||
a.Start()
|
||||
}
|
||||
Reference in New Issue
Block a user