上传cmd flag 外部参数绑定
This commit is contained in:
parent
01f309da8f
commit
9d91d35501
@ -24,9 +24,9 @@ import (
|
|||||||
服务描述:通过读取游戏json配置,启动服务程序
|
服务描述:通过读取游戏json配置,启动服务程序
|
||||||
*/
|
*/
|
||||||
var (
|
var (
|
||||||
gmpath = flag.String("g", "./gm.json", "游戏区服配置") //服务列表下标
|
gmpath string //服务列表下标
|
||||||
crosspath = flag.String("c", "./cross.json", "游戏跨服配置") //服务列表下标
|
crosspath string //服务列表下标
|
||||||
sid = flag.String("i", "", "曲阜列表下标") //服务列表下标
|
sid string //服务列表下标
|
||||||
)
|
)
|
||||||
var startCmd = &cobra.Command{
|
var startCmd = &cobra.Command{
|
||||||
Use: "start",
|
Use: "start",
|
||||||
@ -54,6 +54,9 @@ var RootCmd = &cobra.Command{
|
|||||||
|
|
||||||
//初始化自定义cmd
|
//初始化自定义cmd
|
||||||
func init() {
|
func init() {
|
||||||
|
RootCmd.PersistentFlags().StringVarP(&gmpath, "gm", "g", "./gm.json", "游戏区服配置")
|
||||||
|
RootCmd.PersistentFlags().StringVarP(&crosspath, "cross", "c", "./cross.json", "游戏跨服配置")
|
||||||
|
RootCmd.PersistentFlags().StringVarP(&sid, "sid", "i", "", "区服id")
|
||||||
RootCmd.AddCommand(startCmd, stopCmd)
|
RootCmd.AddCommand(startCmd, stopCmd)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,7 +83,7 @@ func Execute() {
|
|||||||
|
|
||||||
//启动程序
|
//启动程序
|
||||||
func start() {
|
func start() {
|
||||||
if config, err := readergmconf(*gmpath); err != nil {
|
if config, err := readergmconf(gmpath); err != nil {
|
||||||
log.Error("读取区服配置失败!", log.Field{Key: "err", Value: err})
|
log.Error("读取区服配置失败!", log.Field{Key: "err", Value: err})
|
||||||
} else {
|
} else {
|
||||||
var (
|
var (
|
||||||
@ -92,7 +95,7 @@ func start() {
|
|||||||
log.Error("转换服务配置异常!", log.Field{Key: "err", Value: err})
|
log.Error("转换服务配置异常!", log.Field{Key: "err", Value: err})
|
||||||
} else {
|
} else {
|
||||||
for _, v := range ss {
|
for _, v := range ss {
|
||||||
if *sid == "" || fmt.Sprintf("%s_%s", v.Tag, *sid) == v.Id {
|
if sid == "" || fmt.Sprintf("%s_%s", v.Tag, sid) == v.Id {
|
||||||
if err = writeServiceConfig(fmt.Sprintf("./conf/%s.yaml", v.Id), v); err != nil {
|
if err = writeServiceConfig(fmt.Sprintf("./conf/%s.yaml", v.Id), v); err != nil {
|
||||||
log.Error("写入配置文件失败!", log.Field{Key: "err", Value: err})
|
log.Error("写入配置文件失败!", log.Field{Key: "err", Value: err})
|
||||||
return
|
return
|
||||||
@ -144,7 +147,7 @@ func start() {
|
|||||||
|
|
||||||
//关闭程序
|
//关闭程序
|
||||||
func stop() {
|
func stop() {
|
||||||
if config, err := readergmconf(*gmpath); err != nil {
|
if config, err := readergmconf(gmpath); err != nil {
|
||||||
log.Error("读取区服配置失败!", log.Field{Key: "err", Value: err})
|
log.Error("读取区服配置失败!", log.Field{Key: "err", Value: err})
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
@ -152,7 +155,7 @@ func stop() {
|
|||||||
log.Error("转换服务配置异常!", log.Field{Key: "err", Value: err})
|
log.Error("转换服务配置异常!", log.Field{Key: "err", Value: err})
|
||||||
} else {
|
} else {
|
||||||
for _, v := range ss {
|
for _, v := range ss {
|
||||||
if *sid == "" || fmt.Sprintf("%s_%s", v.Tag, *sid) == v.Id {
|
if sid == "" || fmt.Sprintf("%s_%s", v.Tag, sid) == v.Id {
|
||||||
stopService(v)
|
stopService(v)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -276,7 +279,7 @@ func convertServiceSttings(config *comm.GameConfig, id int, stype string, ip str
|
|||||||
"RedisDB": config.LoaclDB.RedisDB,
|
"RedisDB": config.LoaclDB.RedisDB,
|
||||||
"MongodbUrl": config.LoaclDB.MongodbUrl,
|
"MongodbUrl": config.LoaclDB.MongodbUrl,
|
||||||
"MongodbDatabase": config.LoaclDB.MongodbDatabase,
|
"MongodbDatabase": config.LoaclDB.MongodbDatabase,
|
||||||
"CrossConfig": *crosspath,
|
"CrossConfig": crosspath,
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user