From 1db9545596362c7e0ddb75f235b28d0251a209fd Mon Sep 17 00:00:00 2001 From: luhaoling <2198702716@qq.com> Date: Mon, 5 Feb 2024 14:53:09 +0800 Subject: [PATCH] fix: fix the process exit --- cmd/openim-api/main.go | 8 ++++---- cmd/openim-cmdutils/main.go | 7 ++----- cmd/openim-crontask/main.go | 7 ++----- cmd/openim-msggateway/main.go | 7 ++----- cmd/openim-msgtransfer/main.go | 7 ++----- cmd/openim-push/main.go | 7 ++----- cmd/openim-rpc/openim-rpc-auth/main.go | 9 ++------- cmd/openim-rpc/openim-rpc-conversation/main.go | 7 ++----- cmd/openim-rpc/openim-rpc-friend/main.go | 7 ++----- cmd/openim-rpc/openim-rpc-group/main.go | 7 ++----- cmd/openim-rpc/openim-rpc-msg/main.go | 7 ++----- cmd/openim-rpc/openim-rpc-third/main.go | 7 ++----- cmd/openim-rpc/openim-rpc-user/main.go | 7 ++----- internal/msggateway/n_ws_server.go | 2 +- pkg/common/startrpc/start.go | 5 ++--- pkg/util/genutil/genutil.go | 11 +++++++++++ 16 files changed, 42 insertions(+), 70 deletions(-) diff --git a/cmd/openim-api/main.go b/cmd/openim-api/main.go index 695782950..438dfd13e 100644 --- a/cmd/openim-api/main.go +++ b/cmd/openim-api/main.go @@ -38,6 +38,7 @@ import ( kdisc "github.com/openimsdk/open-im-server/v3/pkg/common/discoveryregister" ginprom "github.com/openimsdk/open-im-server/v3/pkg/common/ginprometheus" "github.com/openimsdk/open-im-server/v3/pkg/common/prommetrics" + util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" ) func main() { @@ -45,8 +46,7 @@ func main() { apiCmd.AddPortFlag() apiCmd.AddApi(run) if err := apiCmd.Execute(); err != nil { - fmt.Fprintf(os.Stderr, "\n\nexit -1: \n%+v\n\n", err) - os.Exit(-1) + util.ProcessExit(err) } } @@ -98,7 +98,7 @@ func run(port int, proPort int) error { go func() { err = server.ListenAndServe() if err != nil && err != http.ErrServerClosed { - netErr = errs.Wrap(err, "api start err: ", server.Addr) + netErr = errs.Wrap(err, "api start err", server.Addr) close(netDone) } }() @@ -110,7 +110,7 @@ func run(port int, proPort int) error { defer cancel() select { case <-sigs: - print("receive process terminal SIGUSR1 exit") + util.SIGUSR1Exit() err := server.Shutdown(ctx) if err != nil { return errs.Wrap(err, "shutdown err") diff --git a/cmd/openim-cmdutils/main.go b/cmd/openim-cmdutils/main.go index 45b324766..f0ba05e2d 100644 --- a/cmd/openim-cmdutils/main.go +++ b/cmd/openim-cmdutils/main.go @@ -15,10 +15,8 @@ package main import ( - "fmt" - "os" - "github.com/openimsdk/open-im-server/v3/pkg/common/cmd" + util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" ) func main() { @@ -57,7 +55,6 @@ func main() { // openIM clear msg --clearAll msgUtilsCmd.AddCommand(&getCmd.Command, &fixCmd.Command, &clearCmd.Command) if err := msgUtilsCmd.Execute(); err != nil { - fmt.Fprintf(os.Stderr, "\n\nexit -1: \n%+v\n\n", err) - os.Exit(-1) + util.ProcessExit(err) } } diff --git a/cmd/openim-crontask/main.go b/cmd/openim-crontask/main.go index 324001690..1a3b6cdd0 100644 --- a/cmd/openim-crontask/main.go +++ b/cmd/openim-crontask/main.go @@ -15,17 +15,14 @@ package main import ( - "fmt" - "os" - "github.com/openimsdk/open-im-server/v3/internal/tools" "github.com/openimsdk/open-im-server/v3/pkg/common/cmd" + util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" ) func main() { cronTaskCmd := cmd.NewCronTaskCmd() if err := cronTaskCmd.Exec(tools.StartTask); err != nil { - fmt.Fprintf(os.Stderr, "\n\nexit -1: \n%+v\n\n", err) - os.Exit(-1) + util.ProcessExit(err) } } diff --git a/cmd/openim-msggateway/main.go b/cmd/openim-msggateway/main.go index 5339891c8..c95ec7b26 100644 --- a/cmd/openim-msggateway/main.go +++ b/cmd/openim-msggateway/main.go @@ -15,10 +15,8 @@ package main import ( - "fmt" - "os" - "github.com/openimsdk/open-im-server/v3/pkg/common/cmd" + util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" ) func main() { @@ -28,7 +26,6 @@ func main() { msgGatewayCmd.AddPrometheusPortFlag() if err := msgGatewayCmd.Exec(); err != nil { - fmt.Fprintf(os.Stderr, "\n\nexit -1: \n%+v\n\n", err) - os.Exit(-1) + util.ProcessExit(err) } } diff --git a/cmd/openim-msgtransfer/main.go b/cmd/openim-msgtransfer/main.go index cf1b44a55..e94570c1f 100644 --- a/cmd/openim-msgtransfer/main.go +++ b/cmd/openim-msgtransfer/main.go @@ -15,10 +15,8 @@ package main import ( - "fmt" - "os" - "github.com/openimsdk/open-im-server/v3/pkg/common/cmd" + util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" ) func main() { @@ -26,7 +24,6 @@ func main() { msgTransferCmd.AddPrometheusPortFlag() msgTransferCmd.AddTransferProgressFlag() if err := msgTransferCmd.Exec(); err != nil { - fmt.Fprintf(os.Stderr, "\n\nexit -1: \n%+v\n\n", err) - os.Exit(-1) + util.ProcessExit(err) } } diff --git a/cmd/openim-push/main.go b/cmd/openim-push/main.go index 77f75cb4e..a1ecab80d 100644 --- a/cmd/openim-push/main.go +++ b/cmd/openim-push/main.go @@ -15,12 +15,10 @@ package main import ( - "fmt" - "os" - "github.com/openimsdk/open-im-server/v3/internal/push" "github.com/openimsdk/open-im-server/v3/pkg/common/cmd" "github.com/openimsdk/open-im-server/v3/pkg/common/config" + util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" ) func main() { @@ -31,7 +29,6 @@ func main() { panic(err.Error()) } if err := pushCmd.StartSvr(config.Config.RpcRegisterName.OpenImPushName, push.Start); err != nil { - fmt.Fprintf(os.Stderr, "\n\nexit -1: \n%+v\n\n", err) - os.Exit(-1) + util.ProcessExit(err) } } diff --git a/cmd/openim-rpc/openim-rpc-auth/main.go b/cmd/openim-rpc/openim-rpc-auth/main.go index de09de93d..2adf5eadc 100644 --- a/cmd/openim-rpc/openim-rpc-auth/main.go +++ b/cmd/openim-rpc/openim-rpc-auth/main.go @@ -15,13 +15,10 @@ package main import ( - "fmt" - "os" - "path/filepath" - "github.com/openimsdk/open-im-server/v3/internal/rpc/auth" "github.com/openimsdk/open-im-server/v3/pkg/common/cmd" "github.com/openimsdk/open-im-server/v3/pkg/common/config" + util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" ) func main() { @@ -32,9 +29,7 @@ func main() { panic(err.Error()) } if err := authCmd.StartSvr(config.Config.RpcRegisterName.OpenImAuthName, auth.Start); err != nil { - progName := filepath.Base(os.Args[0]) - fmt.Fprintf(os.Stderr, "\n\n%s exit -1: \n%+v\n\n", progName, err) - os.Exit(-1) + util.ProcessExit(err) } } diff --git a/cmd/openim-rpc/openim-rpc-conversation/main.go b/cmd/openim-rpc/openim-rpc-conversation/main.go index f9ac8cd27..4c30b1649 100644 --- a/cmd/openim-rpc/openim-rpc-conversation/main.go +++ b/cmd/openim-rpc/openim-rpc-conversation/main.go @@ -15,12 +15,10 @@ package main import ( - "fmt" - "os" - "github.com/openimsdk/open-im-server/v3/internal/rpc/conversation" "github.com/openimsdk/open-im-server/v3/pkg/common/cmd" "github.com/openimsdk/open-im-server/v3/pkg/common/config" + util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" ) func main() { @@ -31,7 +29,6 @@ func main() { panic(err.Error()) } if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImConversationName, conversation.Start); err != nil { - fmt.Fprintf(os.Stderr, "\n\nexit -1: \n%+v\n\n", err) - os.Exit(-1) + util.ProcessExit(err) } } diff --git a/cmd/openim-rpc/openim-rpc-friend/main.go b/cmd/openim-rpc/openim-rpc-friend/main.go index 82d71d522..3cd55b486 100644 --- a/cmd/openim-rpc/openim-rpc-friend/main.go +++ b/cmd/openim-rpc/openim-rpc-friend/main.go @@ -15,12 +15,10 @@ package main import ( - "fmt" - "os" - "github.com/openimsdk/open-im-server/v3/internal/rpc/friend" "github.com/openimsdk/open-im-server/v3/pkg/common/cmd" "github.com/openimsdk/open-im-server/v3/pkg/common/config" + util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" ) func main() { @@ -31,7 +29,6 @@ func main() { panic(err.Error()) } if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImFriendName, friend.Start); err != nil { - fmt.Fprintf(os.Stderr, "\n\nexit -1: \n%+v\n\n", err) - os.Exit(-1) + util.ProcessExit(err) } } diff --git a/cmd/openim-rpc/openim-rpc-group/main.go b/cmd/openim-rpc/openim-rpc-group/main.go index 360042f84..9ba978016 100644 --- a/cmd/openim-rpc/openim-rpc-group/main.go +++ b/cmd/openim-rpc/openim-rpc-group/main.go @@ -15,12 +15,10 @@ package main import ( - "fmt" - "os" - "github.com/openimsdk/open-im-server/v3/internal/rpc/group" "github.com/openimsdk/open-im-server/v3/pkg/common/cmd" "github.com/openimsdk/open-im-server/v3/pkg/common/config" + util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" ) func main() { @@ -31,7 +29,6 @@ func main() { panic(err.Error()) } if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImGroupName, group.Start); err != nil { - fmt.Fprintf(os.Stderr, "\n\nexit -1: \n%+v\n\n", err) - os.Exit(-1) + util.ProcessExit(err) } } diff --git a/cmd/openim-rpc/openim-rpc-msg/main.go b/cmd/openim-rpc/openim-rpc-msg/main.go index bed57f522..2599bdb58 100644 --- a/cmd/openim-rpc/openim-rpc-msg/main.go +++ b/cmd/openim-rpc/openim-rpc-msg/main.go @@ -15,12 +15,10 @@ package main import ( - "fmt" - "os" - "github.com/openimsdk/open-im-server/v3/internal/rpc/msg" "github.com/openimsdk/open-im-server/v3/pkg/common/cmd" "github.com/openimsdk/open-im-server/v3/pkg/common/config" + util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" ) func main() { @@ -31,7 +29,6 @@ func main() { panic(err.Error()) } if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImMsgName, msg.Start); err != nil { - fmt.Fprintf(os.Stderr, "\n\nexit -1: \n%+v\n\n", err) - os.Exit(-1) + util.ProcessExit(err) } } diff --git a/cmd/openim-rpc/openim-rpc-third/main.go b/cmd/openim-rpc/openim-rpc-third/main.go index 4868ce149..2f1a8d3ed 100644 --- a/cmd/openim-rpc/openim-rpc-third/main.go +++ b/cmd/openim-rpc/openim-rpc-third/main.go @@ -15,12 +15,10 @@ package main import ( - "fmt" - "os" - "github.com/openimsdk/open-im-server/v3/internal/rpc/third" "github.com/openimsdk/open-im-server/v3/pkg/common/cmd" "github.com/openimsdk/open-im-server/v3/pkg/common/config" + util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" ) func main() { @@ -31,7 +29,6 @@ func main() { panic(err.Error()) } if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImThirdName, third.Start); err != nil { - fmt.Fprintf(os.Stderr, "\n\nexit -1: \n%+v\n\n", err) - os.Exit(-1) + util.ProcessExit(err) } } diff --git a/cmd/openim-rpc/openim-rpc-user/main.go b/cmd/openim-rpc/openim-rpc-user/main.go index a77a2f768..7e4484f5e 100644 --- a/cmd/openim-rpc/openim-rpc-user/main.go +++ b/cmd/openim-rpc/openim-rpc-user/main.go @@ -15,12 +15,10 @@ package main import ( - "fmt" - "os" - "github.com/openimsdk/open-im-server/v3/internal/rpc/user" "github.com/openimsdk/open-im-server/v3/pkg/common/cmd" "github.com/openimsdk/open-im-server/v3/pkg/common/config" + util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" ) func main() { @@ -31,7 +29,6 @@ func main() { panic(err.Error()) } if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImUserName, user.Start); err != nil { - fmt.Fprintf(os.Stderr, "\n\nexit -1: \n%+v\n\n", err) - os.Exit(-1) + util.ProcessExit(err) } } diff --git a/internal/msggateway/n_ws_server.go b/internal/msggateway/n_ws_server.go index 738474338..c16da7c64 100644 --- a/internal/msggateway/n_ws_server.go +++ b/internal/msggateway/n_ws_server.go @@ -194,7 +194,7 @@ func (ws *WsServer) Run(done chan error) error { http.HandleFunc("/", ws.wsHandler) err := server.ListenAndServe() if err != nil && err != http.ErrServerClosed { - netErr = errs.Wrap(err, "ws start err: ", server.Addr) + netErr = errs.Wrap(err, "ws start err", server.Addr) close(netDone) } }() diff --git a/pkg/common/startrpc/start.go b/pkg/common/startrpc/start.go index 3921c0c2a..7c2027941 100644 --- a/pkg/common/startrpc/start.go +++ b/pkg/common/startrpc/start.go @@ -19,11 +19,11 @@ import ( "errors" "fmt" "github.com/OpenIMSDK/tools/errs" + util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" "net" "net/http" "os" "os/signal" - "path/filepath" "strconv" "sync" "syscall" @@ -137,8 +137,7 @@ func Start( signal.Notify(sigs, syscall.SIGUSR1) select { case <-sigs: - progName := filepath.Base(os.Args[0]) - print("\n\n%s receive process terminal SIGUSR1 exit 0\n\n", progName) + util.SIGUSR1Exit() ctx, cancel := context.WithTimeout(context.Background(), 15*time.Second) defer cancel() if err := gracefulStopWithCtx(ctx, srv.GracefulStop); err != nil { diff --git a/pkg/util/genutil/genutil.go b/pkg/util/genutil/genutil.go index 0948a7c49..82de6aa83 100644 --- a/pkg/util/genutil/genutil.go +++ b/pkg/util/genutil/genutil.go @@ -39,3 +39,14 @@ func OutDir(path string) (string, error) { outDir += "/" return outDir, nil } + +func ProcessExit(err error) { + progName := filepath.Base(os.Args[0]) + fmt.Fprintf(os.Stderr, "\n\n%s exit -1: \n%+v\n\n", progName, err) + os.Exit(-1) +} + +func SIGUSR1Exit() { + progName := filepath.Base(os.Args[0]) + fmt.Printf("\n\n%s receive process terminal SIGUSR1 exit 0\n\n", progName) +}