diff --git a/cmd/openim-api/main.go b/cmd/openim-api/main.go index 7a7e06293..34ada1d57 100644 --- a/cmd/openim-api/main.go +++ b/cmd/openim-api/main.go @@ -119,7 +119,7 @@ func run(port int, proPort int) error { defer cancel() select { case <-sigs: - util.SIGUSR1Exit() + util.SIGTERMExit() err := server.Shutdown(ctx) if err != nil { return errs.Wrap(err, "shutdown err") diff --git a/internal/msggateway/init.go b/internal/msggateway/init.go index 8ea648af8..b18efcd50 100644 --- a/internal/msggateway/init.go +++ b/internal/msggateway/init.go @@ -46,9 +46,7 @@ func RunWsAndServer(rpcPort, wsPort, prometheusPort int) error { netDone := make(chan error) go func() { err = hubServer.Start() - //if err != nil { netDone <- err - //} }() return hubServer.LongConnServer.Run(netDone) } diff --git a/internal/msgtransfer/init.go b/internal/msgtransfer/init.go index 3948b32e9..c4944b8b7 100644 --- a/internal/msgtransfer/init.go +++ b/internal/msgtransfer/init.go @@ -18,6 +18,7 @@ import ( "context" "errors" "fmt" + util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" "github.com/OpenIMSDK/tools/errs" "github.com/OpenIMSDK/tools/log" @@ -142,6 +143,7 @@ func (m *MsgTransfer) Start(prometheusPort int) error { signal.Notify(sigs, syscall.SIGTERM) select { case <-sigs: + util.SIGTERMExit() // graceful close kafka client. m.cancel() m.historyCH.historyConsumerGroup.Close() diff --git a/pkg/common/startrpc/start.go b/pkg/common/startrpc/start.go index 3d13240e0..be9fbd25b 100644 --- a/pkg/common/startrpc/start.go +++ b/pkg/common/startrpc/start.go @@ -29,6 +29,8 @@ import ( "github.com/OpenIMSDK/tools/errs" + util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" + "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" @@ -138,6 +140,7 @@ func Start( signal.Notify(sigs, syscall.SIGTERM) select { case <-sigs: + util.SIGTERMExit() ctx, cancel := context.WithTimeout(context.Background(), 15*time.Second) defer cancel() if err := gracefulStopWithCtx(ctx, srv.GracefulStop); err != nil { @@ -149,12 +152,11 @@ func Start( if err != nil { return errs.Wrap(err, "shutdown err") } - //return errs.Wrap(errors.New("SIGTERM EXIT")) + return nil case <-netDone: close(netDone) return netErr } - return nil } func gracefulStopWithCtx(ctx context.Context, f func()) error { diff --git a/pkg/util/genutil/genutil.go b/pkg/util/genutil/genutil.go index 40ffe41f9..80910b843 100644 --- a/pkg/util/genutil/genutil.go +++ b/pkg/util/genutil/genutil.go @@ -51,7 +51,7 @@ func ExitWithError(err error) { os.Exit(-1) } -func SIGUSR1Exit() { +func SIGTERMExit() { progName := filepath.Base(os.Args[0]) - fmt.Printf("\n\n%s receive process terminal SIGTERM exit 0\n\n", progName) + fmt.Printf("%s receive process terminal SIGTERM exit 0", progName) } diff --git a/scripts/stop-all.sh b/scripts/stop-all.sh index 3f27820b9..e9d838d64 100755 --- a/scripts/stop-all.sh +++ b/scripts/stop-all.sh @@ -36,6 +36,4 @@ openim::util::stop_services_by_name_signal "${OPENIM_OUTPUT_HOSTBIN}" echo "++ Check if the services have been stopped" -source "${OPENIM_ROOT}/scripts/check-all-by-signal.sh" - openim::log::success "✨ All processes to be killed" \ No newline at end of file