Merge remote-tracking branch 'origin/errcode' into errcode

This commit is contained in:
withchao 2023-03-09 15:53:30 +08:00
commit 2cd0b34f5b
17 changed files with 65 additions and 66 deletions

View File

@ -1,17 +1,22 @@
package main
import (
"OpenIM/internal/push"
"OpenIM/pkg/common/cmd"
"OpenIM/pkg/common/config"
"fmt"
"os"
)
func main() {
pushCmd := cmd.NewPushCmd()
pushCmd := cmd.NewRpcCmd()
pushCmd.AddPortFlag()
pushCmd.AddPrometheusPortFlag()
pushCmd.AddPush()
if err := pushCmd.Execute(); err != nil {
if err := pushCmd.Exec(); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
if err := pushCmd.StartSvr(config.Config.RpcRegisterName.OpenImPushName, push.Start); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}

View File

@ -9,10 +9,10 @@ import (
)
func main() {
authCmd := cmd.NewAuthCmd()
authCmd := cmd.NewRpcCmd()
authCmd.AddPortFlag()
authCmd.AddPrometheusPortFlag()
if err := authCmd.Execute(); err != nil {
if err := authCmd.Exec(); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}

View File

@ -12,7 +12,11 @@ func main() {
rpcCmd := cmd.NewRpcCmd()
rpcCmd.AddPortFlag()
rpcCmd.AddPrometheusPortFlag()
if err := rpcCmd.Exec(config.Config.RpcRegisterName.OpenImConversationName, conversation.Start); err != nil {
if err := rpcCmd.Exec(); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImConversationName, conversation.Start); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}

View File

@ -12,7 +12,11 @@ func main() {
rpcCmd := cmd.NewRpcCmd()
rpcCmd.AddPortFlag()
rpcCmd.AddPrometheusPortFlag()
if err := rpcCmd.Exec(config.Config.RpcRegisterName.OpenImFriendName, friend.Start); err != nil {
if err := rpcCmd.Exec(); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImFriendName, friend.Start); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}

View File

@ -12,7 +12,11 @@ func main() {
rpcCmd := cmd.NewRpcCmd()
rpcCmd.AddPortFlag()
rpcCmd.AddPrometheusPortFlag()
if err := rpcCmd.Exec(config.Config.RpcRegisterName.OpenImGroupName, friend.Start); err != nil {
if err := rpcCmd.Exec(); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImGroupName, friend.Start); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}

View File

@ -12,7 +12,11 @@ func main() {
rpcCmd := cmd.NewRpcCmd()
rpcCmd.AddPortFlag()
rpcCmd.AddPrometheusPortFlag()
if err := rpcCmd.Exec(config.Config.RpcRegisterName.OpenImMsgName, msg.Start); err != nil {
if err := rpcCmd.Exec(); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImMsgName, msg.Start); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}

View File

@ -12,7 +12,11 @@ func main() {
rpcCmd := cmd.NewRpcCmd()
rpcCmd.AddPortFlag()
rpcCmd.AddPrometheusPortFlag()
if err := rpcCmd.Exec(config.Config.RpcRegisterName.OpenImThirdName, third.Start); err != nil {
if err := rpcCmd.Exec(); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImThirdName, third.Start); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}

View File

@ -12,7 +12,11 @@ func main() {
rpcCmd := cmd.NewRpcCmd()
rpcCmd.AddPortFlag()
rpcCmd.AddPrometheusPortFlag()
if err := rpcCmd.Exec(config.Config.RpcRegisterName.OpenImUserName, user.Start); err != nil {
if err := rpcCmd.Exec(); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImUserName, user.Start); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}

View File

@ -67,6 +67,7 @@ func (m *MsgTransfer) initPrometheus() {
func (m *MsgTransfer) Start(prometheusPort int) error {
var wg sync.WaitGroup
wg.Add(4)
fmt.Println("start msg transfer", "prometheusPort:", prometheusPort)
if config.Config.ChatPersistenceMysql {
go m.persistentCH.persistentConsumerGroup.RegisterHandleAndConsumer(m.persistentCH)
} else {

View File

@ -13,10 +13,11 @@ import (
"github.com/OpenIMSDK/openKeeper"
grpcPrometheus "github.com/grpc-ecosystem/go-grpc-prometheus"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"net"
)
func start(rpcPort int, rpcRegisterName string, prometheusPort int, rpcFn func(client discoveryregistry.SvcDiscoveryRegistry, server *grpc.Server) error, options []grpc.ServerOption) error {
func Start(rpcPort int, rpcRegisterName string, prometheusPort int, rpcFn func(client discoveryregistry.SvcDiscoveryRegistry, server *grpc.Server) error, options ...grpc.ServerOption) error {
fmt.Println("start", rpcRegisterName, "rpc server, port: ", rpcPort, "prometheusPort:", prometheusPort, ", OpenIM version: ", config.Version)
log.NewPrivateLog(constant.LogFileName)
listener, err := net.Listen("tcp", fmt.Sprintf("%s:%d", config.Config.ListenIP, rpcPort))
@ -47,19 +48,24 @@ func start(rpcPort int, rpcRegisterName string, prometheusPort int, rpcFn func(c
}
srv := grpc.NewServer(options...)
defer srv.GracefulStop()
err = zkClient.Register(rpcRegisterName, registerIP, rpcPort)
err = zkClient.Register(rpcRegisterName, registerIP, rpcPort, grpc.WithTransportCredentials(insecure.NewCredentials()))
if err != nil {
return utils.Wrap1(err)
}
go func() {
if config.Config.Prometheus.Enable && prometheusPort != 0 {
err := prome.StartPrometheusSrv(prometheusPort)
if err != nil {
return err
if err := prome.StartPrometheusSrv(prometheusPort); err != nil {
panic(err.Error())
}
}
}()
err = srv.Serve(listener)
if err != nil {
return utils.Wrap1(err)
}
return rpcFn(zkClient, srv)
}
func Start(rpcPort int, rpcRegisterName string, prometheusPort int, rpcFn func(client discoveryregistry.SvcDiscoveryRegistry, server *grpc.Server) error, options ...grpc.ServerOption) error {
return start(rpcPort, rpcRegisterName, prometheusPort, rpcFn, options)
}
//func Start(rpcPort int, rpcRegisterName string, prometheusPort int, rpcFn func(client discoveryregistry.SvcDiscoveryRegistry, server *grpc.Server) error, options ...grpc.ServerOption) error {
// return start(rpcPort, rpcRegisterName, prometheusPort, rpcFn, options)
//}

View File

@ -1,22 +0,0 @@
package cmd
import (
"OpenIM/internal/push"
"OpenIM/internal/startrpc"
"OpenIM/pkg/common/config"
"github.com/spf13/cobra"
)
type PushCmd struct {
*AuthCmd
}
func NewPushCmd() *PushCmd {
return &PushCmd{NewAuthCmd()}
}
func (r *PushCmd) AddPush() {
r.Command.RunE = func(cmd *cobra.Command, args []string) error {
return startrpc.Start(r.getPortFlag(cmd), config.Config.RpcRegisterName.OpenImPushName, r.getPrometheusPortFlag(cmd), push.Start)
}
}

View File

@ -23,23 +23,11 @@ func NewRootCmd() (rootCmd *RootCmd) {
},
}
rootCmd.Command = c
rootCmd.init()
rootCmd.addConfFlag()
return rootCmd
}
func (r *RootCmd) AddRunE(f func(cmd RootCmd) error) {
r.Command.RunE = func(cmd *cobra.Command, args []string) error {
return f(*r)
}
}
func (r *RootCmd) AddRpc(f func(port, prometheusPort int) error) {
r.Command.RunE = func(cmd *cobra.Command, args []string) error {
return f(r.getPortFlag(cmd), r.getPrometheusPortFlag(cmd))
}
}
func (r *RootCmd) init() {
func (r *RootCmd) addConfFlag() {
r.Command.Flags().StringP(constant.FlagConf, "c", "", "Path to config file folder")
}

View File

@ -7,16 +7,16 @@ import (
"google.golang.org/grpc"
)
type AuthCmd struct {
type RpcCmd struct {
*RootCmd
}
func NewAuthCmd() *AuthCmd {
authCmd := &AuthCmd{NewRootCmd()}
func NewRpcCmd() *RpcCmd {
authCmd := &RpcCmd{NewRootCmd()}
return authCmd
}
func (a *AuthCmd) Exec() error {
func (a *RpcCmd) Exec() error {
a.Command.Run = func(cmd *cobra.Command, args []string) {
a.port = a.getPortFlag(cmd)
a.prometheusPort = a.getPrometheusPortFlag(cmd)
@ -24,6 +24,6 @@ func (a *AuthCmd) Exec() error {
return a.Execute()
}
func (a *AuthCmd) StartSvr(name string, rpcFn func(client discoveryregistry.SvcDiscoveryRegistry, server *grpc.Server) error) error {
func (a *RpcCmd) StartSvr(name string, rpcFn func(client discoveryregistry.SvcDiscoveryRegistry, server *grpc.Server) error) error {
return startrpc.Start(a.GetPortFlag(), name, a.GetPrometheusPortFlag(), rpcFn)
}

View File

@ -515,7 +515,6 @@ func (c *config) initConfig(config interface{}, configName, configFolderPath str
return err
}
configPath = filepath.Join(Root, "config", configName)
fmt.Println("use", configPath)
} else {
Root = filepath.Dir(configPath)
}

View File

@ -1,7 +1,6 @@
package relation
import (
"gorm.io/gorm"
"time"
pbMsg "OpenIM/pkg/proto/msg"
@ -27,7 +26,6 @@ type ChatLogModel struct {
SendTime time.Time `gorm:"column:send_time;index:sendTime;index:content_type,priority:1;index:session_type,priority:1;index:recv_id,priority:1;index:send_id,priority:1" json:"sendTime"`
CreateTime time.Time `gorm:"column:create_time" json:"createTime"`
Ex string `gorm:"column:ex;type:varchar(1024)" json:"ex"`
DB *gorm.DB
}
func (ChatLogModel) TableName() string {

View File

@ -19,7 +19,7 @@ msg_transfer_source_root="../cmd/msgtransfer/"
msg_transfer_service_num=4
sdk_server_name="sdk_ws_server"
sdk_server_name="open_im_sdk_server"
sdk_server_binary_root="../bin/"
sdk_server_source_root="../cmd/Open-IM-SDK-Core/"

View File

@ -24,7 +24,7 @@ fi
#Waiting port recycling
sleep 1
cd ${sdk_server_binary_root}
nohup ./${sdk_server_name} -openIM_ws_address ${ws_address} -sdkws_port ${sdkws_ports[0]} -openIM_api_address ${api_address} -openIM_log_level ${logLevel} >>../logs/openIM.log 2>&1 &
nohup ./${sdk_server_name} -openIM_ws_address ${ws_address} -sdk_ws_port ${sdkws_ports[0]} -openIM_api_address ${api_address} -openIM_log_level ${logLevel} >>../logs/openIM.log 2>&1 &
#Check launched service process
sleep 3