|
@ -33,9 +33,9 @@ func (p *program) Stop(s service.Service) error { |
|
|
|
|
|
|
|
|
func main() { |
|
|
func main() { |
|
|
svcConfig := &service.Config{ |
|
|
svcConfig := &service.Config{ |
|
|
Name: "calloff", |
|
|
|
|
|
DisplayName: "calloff", |
|
|
|
|
|
Description: "this is calloff", |
|
|
|
|
|
|
|
|
Name: "G18calloffEtcd", |
|
|
|
|
|
DisplayName: "G18calloffEtcd", |
|
|
|
|
|
Description: "this is G18calloffEtcd", |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
prg := &program{} |
|
|
prg := &program{} |
|
@ -48,19 +48,19 @@ func main() { |
|
|
switch verb { |
|
|
switch verb { |
|
|
case "install": |
|
|
case "install": |
|
|
s.Install() |
|
|
s.Install() |
|
|
log.Println("服务安装成功") |
|
|
|
|
|
|
|
|
log.Println("install success") |
|
|
return |
|
|
return |
|
|
case "remove": |
|
|
case "remove": |
|
|
s.Uninstall() |
|
|
s.Uninstall() |
|
|
log.Println("服务卸载成功") |
|
|
|
|
|
|
|
|
log.Println("remove success") |
|
|
return |
|
|
return |
|
|
case "start": |
|
|
case "start": |
|
|
s.Start() |
|
|
s.Start() |
|
|
log.Println("服务启动") |
|
|
|
|
|
|
|
|
log.Println("start success") |
|
|
return |
|
|
return |
|
|
case "stop": |
|
|
case "stop": |
|
|
s.Stop() |
|
|
s.Stop() |
|
|
log.Println("服务暂停") |
|
|
|
|
|
|
|
|
log.Println("stop success") |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -81,14 +81,21 @@ func imain() { |
|
|
defer glog.Flush() |
|
|
defer glog.Flush() |
|
|
pathLogDir := filepath.Join(baseDir, "glog") |
|
|
pathLogDir := filepath.Join(baseDir, "glog") |
|
|
//备注,因为是打包成windows服务,路径需要转义
|
|
|
//备注,因为是打包成windows服务,路径需要转义
|
|
|
pathLogDir = common.EnsureDir(pathLogDir) |
|
|
|
|
|
|
|
|
pathLogDir,err := common.GetCurrentPath(pathLogDir) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
log.Printf("failed to read yaml config due to: %v", err) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
glog.DefaultInit(true, pathLogDir) |
|
|
glog.DefaultInit(true, pathLogDir) |
|
|
|
|
|
|
|
|
glog.Infoln("启动日志", "InitDB return success") |
|
|
glog.Infoln("启动日志", "InitDB return success") |
|
|
|
|
|
|
|
|
//加载配置
|
|
|
//加载配置
|
|
|
path := common.EnsureDir("config/config.yaml") |
|
|
|
|
|
fmt.Println(path) |
|
|
|
|
|
|
|
|
path,err := common.GetCurrentPath("config/config.yaml") |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
log.Printf("failed to read yaml config due to: %v", err) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
conf, err := config.ReadYamlConfig(path) |
|
|
conf, err := config.ReadYamlConfig(path) |
|
|
if err != nil { |
|
|
if err != nil { |
|
|
log.Printf("failed to read yaml config due to: %v", err) |
|
|
log.Printf("failed to read yaml config due to: %v", err) |
|
@ -96,11 +103,11 @@ func imain() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//加载配置
|
|
|
//加载配置
|
|
|
//err = config.InitConfig()
|
|
|
|
|
|
//if err != nil {
|
|
|
|
|
|
// log.Printf("failed to read yaml config due to: %v", err)
|
|
|
|
|
|
// return
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
err = config.InitConfig() |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
log.Printf("failed to read yaml config due to: %v", err) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
//初始化数据库
|
|
|
//初始化数据库
|
|
|
connstring := fmt.Sprintf("server=%s;user id=%s;password=%s;database=%s;port=%d;encrypt=disable", |
|
|
connstring := fmt.Sprintf("server=%s;user id=%s;password=%s;database=%s;port=%d;encrypt=disable", |
|
@ -116,27 +123,22 @@ func imain() { |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//创建snretcd连接
|
|
|
|
|
|
//if err = etcd.InitSnrJobLock(); err != nil {
|
|
|
|
|
|
// glog.Infoln("初始化EtCD连接", "InitSnrJobLock return fail")
|
|
|
|
|
|
// return
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
// 创建etcd监听连接
|
|
|
// 创建etcd监听连接
|
|
|
//if err = etcd.InitEtcdClient(); err != nil {
|
|
|
|
|
|
// glog.Infoln("初始化EtCD连接", "InitJobLock return fail")
|
|
|
|
|
|
// return
|
|
|
|
|
|
//}
|
|
|
|
|
|
//
|
|
|
|
|
|
//// register app service to etcd
|
|
|
|
|
|
//if config.AppConfig.UseETCD {
|
|
|
|
|
|
// CheckServiceDao := etcd.NewETCDServiceImplement(etcd.AppEtcdClient, config.AppConfig.App.LocalAddr)
|
|
|
|
|
|
// defer CheckServiceDao.RevokeLease()
|
|
|
|
|
|
// err = CheckServiceDao.RegisterService(config.AppConfig.App.Name)
|
|
|
|
|
|
// if err != nil {
|
|
|
|
|
|
// log.Fatal("register service to etcd failed, error:", err)
|
|
|
|
|
|
// }
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
if err = etcd.InitEtcdClient(); err != nil { |
|
|
|
|
|
glog.Infoln("初始化EtCD连接", "InitJobLock return fail") |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// register app service to etcd
|
|
|
|
|
|
if config.AppConfig.UseETCD { |
|
|
|
|
|
CheckServiceDao := etcd.NewETCDServiceImplement(etcd.AppEtcdClient, config.AppConfig.App.LocalAddr) |
|
|
|
|
|
defer CheckServiceDao.RevokeLease() |
|
|
|
|
|
err = CheckServiceDao.RegisterService(config.AppConfig.App.Name) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
log.Fatal("register service to etcd failed, error:", err) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// Calloff文件解析和保存,读取Calloff信息并生成发运包装
|
|
|
// Calloff文件解析和保存,读取Calloff信息并生成发运包装
|
|
|
go calloff.ParseCalloffNew() |
|
|
go calloff.ParseCalloffNew() |
|
|
|
|
|
|
|
|