From a26ca657fed44ca21b7cacde80bca48febeade7a Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 23 Feb 2023 19:41:44 +0800 Subject: [PATCH] config path --- cmd/api/main.go | 7 ++++++- cmd/cmdutils/main.go | 3 +++ cmd/crontask/main.go | 5 +++++ cmd/msggateway/main.go | 2 ++ cmd/msgtransfer/main.go | 2 ++ cmd/push/main.go | 2 ++ internal/startrpc/start.go | 2 ++ pkg/common/config/config.go | 9 +++------ script/path_info.cfg | 30 ++++++++++++++++++------------ 9 files changed, 43 insertions(+), 19 deletions(-) diff --git a/cmd/api/main.go b/cmd/api/main.go index fdc11912f..8deb577ce 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -18,8 +18,9 @@ func main() { router := api.NewGinRouter() go third.MinioInit() ginPort := flag.Int("port", config.Config.Api.GinPort[0], "get ginServerPort from cmd,default 10002 as port") + configPath := flag.String("config_path", "../config/", "config folder") flag.Parse() - config.InitConfig() + config.InitConfig(*configPath) address := "0.0.0.0:" + strconv.Itoa(*ginPort) if config.Config.Api.ListenIP != "" { address = config.Config.Api.ListenIP + ":" + strconv.Itoa(*ginPort) @@ -31,3 +32,7 @@ func main() { panic("api start failed " + err.Error()) } } + +func T() { + +} diff --git a/cmd/cmdutils/main.go b/cmd/cmdutils/main.go index c05b85b5e..ae6b8ef73 100644 --- a/cmd/cmdutils/main.go +++ b/cmd/cmdutils/main.go @@ -2,6 +2,7 @@ package main import ( "OpenIM/internal/task" + "OpenIM/pkg/common/config" "flag" "fmt" "time" @@ -11,7 +12,9 @@ func main() { var userID = flag.String("user_id", "", "userID to clear msg and reset seq") var superGroupID = flag.String("super_group_id", "", "superGroupID to clear msg and reset seq") var fixAllSeq = flag.Bool("fix_all_seq", false, "fix seq") + var configPath = flag.String("config_path", "../config/", "config folder") flag.Parse() + config.InitConfig(*configPath) fmt.Println(time.Now(), "start cronTask", *userID, *superGroupID) task.FixSeq(*userID, *superGroupID, *fixAllSeq) } diff --git a/cmd/crontask/main.go b/cmd/crontask/main.go index 0b25831cd..3c8939e89 100644 --- a/cmd/crontask/main.go +++ b/cmd/crontask/main.go @@ -2,12 +2,17 @@ package main import ( "OpenIM/internal/task" + "OpenIM/pkg/common/config" + "flag" "fmt" "time" ) func main() { fmt.Println(time.Now(), "start cronTask") + var configPath = flag.String("config_path", "../config/", "config folder") + flag.Parse() + config.InitConfig(*configPath) if err := task.StartCronTask(); err != nil { panic(err.Error()) } diff --git a/cmd/msggateway/main.go b/cmd/msggateway/main.go index 677cb056b..21ac9f2cf 100644 --- a/cmd/msggateway/main.go +++ b/cmd/msggateway/main.go @@ -18,7 +18,9 @@ func main() { rpcPort := flag.Int("rpc_port", defaultRpcPorts[0], "rpc listening port") wsPort := flag.Int("ws_port", defaultWsPorts[0], "ws listening port") prometheusPort := flag.Int("prometheus_port", defaultPromePorts[0], "PushrometheusPort default listen port") + configPath := flag.String("config_path", "../config/", "config folder") flag.Parse() + config.InitConfig(*configPath) var wg sync.WaitGroup wg.Add(1) fmt.Println("start rpc/msg_gateway server, port: ", *rpcPort, *wsPort, *prometheusPort, ", OpenIM version: ", constant.CurrentVersion, "\n") diff --git a/cmd/msgtransfer/main.go b/cmd/msgtransfer/main.go index 2cc17d388..3828a56f6 100644 --- a/cmd/msgtransfer/main.go +++ b/cmd/msgtransfer/main.go @@ -14,7 +14,9 @@ func main() { var wg sync.WaitGroup wg.Add(1) prometheusPort := flag.Int("prometheus_port", config.Config.Prometheus.MessageTransferPrometheusPort[0], "MessageTransferPrometheusPort default listen port") + configPath := flag.String("config_path", "../config/", "config folder") flag.Parse() + config.InitConfig(*configPath) log.NewPrivateLog(constant.LogFileName) msgTransfer := msgtransfer.NewMsgTransfer() fmt.Println("start msg_transfer server ", ", OpenIM version: ", constant.CurrentVersion, "\n") diff --git a/cmd/push/main.go b/cmd/push/main.go index 261fc5a92..45b0b7d1c 100644 --- a/cmd/push/main.go +++ b/cmd/push/main.go @@ -14,7 +14,9 @@ func main() { defaultPorts := config.Config.RpcPort.OpenImPushPort rpcPort := flag.Int("port", defaultPorts[0], "rpc listening port") prometheusPort := flag.Int("prometheus_port", config.Config.Prometheus.MessageTransferPrometheusPort[0], "PushrometheusPort default listen port") + configPath := flag.String("config_path", "../config/", "config folder") flag.Parse() + config.InitConfig(*configPath) var wg sync.WaitGroup wg.Add(1) log.NewPrivateLog(constant.LogFileName) diff --git a/internal/startrpc/start.go b/internal/startrpc/start.go index 43ae2e975..fc8121ca9 100644 --- a/internal/startrpc/start.go +++ b/internal/startrpc/start.go @@ -18,7 +18,9 @@ import ( func start(rpcPorts []int, rpcRegisterName string, prometheusPorts []int, rpcFn func(client *openKeeper.ZkClient, server *grpc.Server) error, options []grpc.ServerOption) error { flagRpcPort := flag.Int("port", rpcPorts[0], "get RpcGroupPort from cmd,default 16000 as port") flagPrometheusPort := flag.Int("prometheus_port", prometheusPorts[0], "groupPrometheusPort default listen port") + configPath := flag.String("config_path", "../config/", "config folder") flag.Parse() + config.InitConfig(*configPath) fmt.Println("start group rpc server, port: ", *flagRpcPort, ", OpenIM version: ", constant.CurrentVersion) log.NewPrivateLog(constant.LogFileName) listener, err := net.Listen("tcp", fmt.Sprintf("%s:%d", config.Config.ListenIP, *flagRpcPort)) diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 6adc26471..7032aa419 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -1,7 +1,6 @@ package config import ( - "flag" "fmt" "io/ioutil" "os" @@ -537,10 +536,8 @@ func initConfig(config interface{}, configName, configPath string) { unmarshalConfig(config, configPath) } -func InitConfig() { - configPath := flag.String("config_path", "../config/", "config folder") - flag.Parse() - initConfig(&Config, "config.yaml", *configPath) - initConfig(&NotificationConfig, "notification.yaml", *configPath) +func InitConfig(configPath string) { + initConfig(&Config, "config.yaml", configPath) + initConfig(&NotificationConfig, "notification.yaml", configPath) Config.Notification = NotificationConfig.Notification } diff --git a/script/path_info.cfg b/script/path_info.cfg index f747dc1da..3c7164a63 100644 --- a/script/path_info.cfg +++ b/script/path_info.cfg @@ -1,21 +1,21 @@ #Don't put the space between "=" msg_gateway_name="open_im_msg_gateway" msg_gateway_binary_root="../bin/" -msg_gateway_source_root="../cmd/open_im_msg_gateway/" +msg_gateway_source_root="../cmd/msggateway/" msg_name="open_im_msg" msg_binary_root="../bin/" -msg_source_root="../cmd/rpc/open_im_msg/" +msg_source_root="../cmd/rpc/msg/" push_name="open_im_push" push_binary_root="../bin/" -push_source_root="../cmd/open_im_push/" +push_source_root="../cmd/push/" msg_transfer_name="open_im_msg_transfer" msg_transfer_binary_root="../bin/" -msg_transfer_source_root="../cmd/open_im_msg_transfer/" +msg_transfer_source_root="../cmd/msgtransfer/" msg_transfer_service_num=4 @@ -26,23 +26,28 @@ sdk_server_source_root="../cmd/Open-IM-SDK-Core/" cron_task_name="open_im_cron_task" cron_task_binary_root="../bin/" -cron_task_source_root="../cmd/open_im_cron_task/" +cron_task_source_root="../cmd/crontask/" +cmd_utils_name="open_im_cmd_utils" +cmd_utils_binary_root="../bin/" +cmd_utils_source_root="../cmd/cmduitls/" + #Global configuration file default dir config_path="../config/config.yaml" #servicefile dir path service_source_root=( #api service file - ../cmd/open_im_api/ + ../cmd/api/ #rpc service file - ../cmd/rpc/open_im_user/ - ../cmd/rpc/open_im_friend/ - ../cmd/rpc/open_im_group/ - ../cmd/rpc/open_im_auth/ - ../cmd/rpc/open_im_conversation/ - ../cmd/open_im_cron_task + ../cmd/rpc/user/ + ../cmd/rpc/friend/ + ../cmd/rpc/group/ + ../cmd/rpc/auth/ + ../cmd/rpc/conversation/ + ../cmd/crontask + ../cmd/cmdutils ${msg_gateway_source_root} ${msg_transfer_source_root} ${msg_source_root} @@ -60,6 +65,7 @@ service_names=( open_im_auth open_im_conversation open_im_cron_task + open_im_cmd_utils ${msg_gateway_name} ${msg_transfer_name} ${msg_name}