From 6854a0965ac56dfca7ffeb934718474ca6fa49d2 Mon Sep 17 00:00:00 2001 From: "Xinwei Xiong (cubxxw)" <3293172751nss@gmail.com> Date: Thu, 28 Mar 2024 10:43:33 +0800 Subject: [PATCH] feat: optimize golang ci --- .golangci.yml | 5 ++- pkg/common/db/cache/conversation.go | 2 +- pkg/common/db/controller/msg.go | 2 +- tools/component/component.go | 66 +++++++++++++++-------------- 4 files changed, 39 insertions(+), 36 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index c6d65f2cf..c32d53fe1 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -593,11 +593,12 @@ linters-settings: - name: exported severity: warning - name: var-naming - arguments: [ ["ID", "HTTP", "URL", "URI", "URL", "URI", "API", "APIKey", "Token", "TokenID", "TokenSecret", "TokenKey", "TokenSecret", "JWT", "JWTToken", "JWTTokenID", "JWTTokenSecret", "JWTTokenKey", "JWTTokenSecret", "OAuth", "OAuthToken", "OAuth" ] ] + arguments: [ [ "OpenIM"] ] + # arguments: [ ["ID", "HTTP", "URL", "URI", "API", "APIKey", "Token", "TokenID", "TokenSecret", "TokenKey", "TokenSecret", "JWT", "JWTToken", "JWTTokenID", "JWTTokenSecret", "JWTTokenKey", "JWTTokenSecret", "OAuth", "OAuthToken", "RPC" ] ] - name: atomic - name: line-length-limit severity: error - arguments: [80] + arguments: [200] - name: unhandled-error arguments : ["fmt.Printf", "myFunction"] diff --git a/pkg/common/db/cache/conversation.go b/pkg/common/db/cache/conversation.go index a0a745e6c..3a075ab9c 100644 --- a/pkg/common/db/cache/conversation.go +++ b/pkg/common/db/cache/conversation.go @@ -38,7 +38,7 @@ const ( // recvMsgOptKey = "RECV_MSG_OPT:" // superGroupRecvMsgNotNotifyUserIDsKey = "SUPER_GROUP_RECV_MSG_NOT_NOTIFY_USER_IDS:" // superGroupRecvMsgNotNotifyUserIDsHashKey = "SUPER_GROUP_RECV_MSG_NOT_NOTIFY_USER_IDS_HASH:" - //conversationNotReceiveMessageUserIDsKey = "CONVERSATION_NOT_RECEIVE_MESSAGE_USER_IDS:". + // conversationNotReceiveMessageUserIDsKey = "CONVERSATION_NOT_RECEIVE_MESSAGE_USER_IDS:". conversationExpireTime = time.Second * 60 * 60 * 12 ) diff --git a/pkg/common/db/controller/msg.go b/pkg/common/db/controller/msg.go index ea0c3f138..46a5d3f28 100644 --- a/pkg/common/db/controller/msg.go +++ b/pkg/common/db/controller/msg.go @@ -575,7 +575,7 @@ func (db *commonMsgDatabase) GetMsgBySeqsRange(ctx context.Context, userID strin // //} // var seqs []int64 - //for i := end; i > end-num; i-- { + // for i := end; i > end-num; i-- { // if i >= begin { // seqs = append([]int64{i}, seqs...) // } else { diff --git a/tools/component/component.go b/tools/component/component.go index c5810a9cf..6cea8352d 100644 --- a/tools/component/component.go +++ b/tools/component/component.go @@ -16,7 +16,6 @@ package main import ( "context" - "flag" "fmt" "os" "strconv" @@ -25,53 +24,56 @@ import ( "github.com/openimsdk/open-im-server/v3/tools/component/checks" "github.com/openimsdk/open-im-server/v3/tools/component/util" "github.com/openimsdk/tools/log" - - "gopkg.in/yaml.v2" - - "github.com/openimsdk/tools/errs" + "github.com/spf13/pflag" + "github.com/spf13/viper" "github.com/openimsdk/open-im-server/v3/pkg/common/config" "github.com/openimsdk/open-im-server/v3/pkg/common/db/s3/minio" ) -const ( - // defaultCfgPath is the default path of the configuration file. - defaultCfgPath = "../../../../../config/config.yaml" - maxRetry = 100 -) +const defaultCfgPath = "./config.yaml" +const maxRetry = 100 -var ( - cfgPath = flag.String("c", defaultCfgPath, "Path to the configuration file") -) +func initConfig(cfgPath string) error { + viper.SetConfigType("yaml") + viper.AddConfigPath(".") + + viper.SetConfigName("config") + viper.AddConfigPath("../../../../../config") -func initCfg() (*config.GlobalConfig, error) { - data, err := os.ReadFile(*cfgPath) - if err != nil { - return nil, errs.WrapMsg(err, "ReadFile unmarshal failed") + viper.SetEnvPrefix("openim") + viper.AutomaticEnv() + + if cfgPath != "" { + viper.SetConfigFile(cfgPath) + } else if envPath, ok := os.LookupEnv("OPENIM_CONFIG"); ok && envPath != "" { + viper.SetConfigFile(envPath) } - conf := config.NewGlobalConfig() - err = yaml.Unmarshal(data, &conf) - if err != nil { - return nil, errs.WrapMsg(err, "InitConfig unmarshal failed") + if err := viper.ReadInConfig(); err != nil { + return err } - return conf, nil + + fmt.Println("Using config file:", viper.ConfigFileUsed()) + return nil } func main() { - flag.Parse() + var cfgFile string + pflag.StringVarP(&cfgFile, "config", "c", "", "config file (default is ./config.yaml)") + pflag.Parse() ctx := context.Background() - conf, err := initCfg() - if err != nil { + + if err := initConfig(cfgFile); err != nil { fmt.Fprintf(os.Stderr, "Initialization failed: %v\n", err) os.Exit(1) } - if err := util.ConfigGetEnv(conf); err != nil { - fmt.Fprintf(os.Stderr, "Environment variable override failed: %v\n", err) - os.Exit(1) - } + // if err := util.ConfigGetEnv(conf); err != nil { + // fmt.Fprintf(os.Stderr, "Environment variable override failed: %v\n", err) + // os.Exit(1) + // } // Define a slice of functions to perform each service check serviceChecks := []func(context.Context, *config.GlobalConfig) error{ @@ -89,11 +91,11 @@ func main() { }, } - if conf.Object.Enable == "minio" { + if viper.GetString("object.enable") == "minio" { minioConfig := checks.MinioCheck{ - Config: minio.Config(conf.Object.Minio), + Config: minio.Config(viper.GetString("object.minio")), // UseSSL: conf.Minio.UseSSL, - ApiURL: conf.Object.ApiURL, + ApiURL: viper.GetString("object.apiURL"), } adjustUseSSL(&minioConfig)