diff --git a/docker-compose.yml b/docker-compose.yml index 4acd00cdd..aeb53a417 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -51,6 +51,7 @@ services: ports: - "12181:2181" environment: + #JVMFLAGS: "-Xms32m -Xmx128m" TZ: "Asia/Shanghai" ALLOW_ANONYMOUS_LOGIN: "yes" restart: always @@ -70,6 +71,7 @@ services: command: > bash -c "/opt/bitnami/scripts/kafka/run.sh & /opt/bitnami/kafka/create-topic.sh; wait" environment: + #KAFKA_HEAP_OPTS: "-Xms128m -Xmx256m" TZ: Asia/Shanghai KAFKA_CFG_NODE_ID: 0 KAFKA_CFG_PROCESS_ROLES: controller,broker @@ -119,3 +121,4 @@ services: - openim + diff --git a/go.mod b/go.mod index cc0de7614..b522065da 100644 --- a/go.mod +++ b/go.mod @@ -34,7 +34,7 @@ require ( github.com/hashicorp/golang-lru/v2 v2.0.7 github.com/kelindar/bitmap v1.5.2 github.com/likexian/gokit v0.25.13 - github.com/openimsdk/gomake v0.0.11 + github.com/openimsdk/gomake v0.0.13 github.com/redis/go-redis/v9 v9.4.0 github.com/robfig/cron/v3 v3.0.1 github.com/shirou/gopsutil v3.21.11+incompatible @@ -44,6 +44,7 @@ require ( golang.org/x/sync v0.6.0 ) + require ( cloud.google.com/go v0.112.0 // indirect cloud.google.com/go/compute v1.23.3 // indirect diff --git a/go.sum b/go.sum index 7c256c58d..e2ecf7284 100644 --- a/go.sum +++ b/go.sum @@ -279,8 +279,8 @@ github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1y github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE= github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= -github.com/openimsdk/gomake v0.0.11 h1:jJ9286zKFfBeARkmfqMEcUYg9lJ+Cj9lylxP8W9uCFM= -github.com/openimsdk/gomake v0.0.11/go.mod h1:PndCozNc2IsQIciyn9mvEblYWZwJmAI+06z94EY+csI= +github.com/openimsdk/gomake v0.0.13 h1:xLDe/moqgWpRoptHzI4packAWzs4C16b+sVY+txNJp0= +github.com/openimsdk/gomake v0.0.13/go.mod h1:PndCozNc2IsQIciyn9mvEblYWZwJmAI+06z94EY+csI= github.com/openimsdk/protocol v0.0.65 h1:SPT9qyUsFRTTKSKb/FjpS+xr6sxz/Kbnu+su1bxYagc= github.com/openimsdk/protocol v0.0.65/go.mod h1:OZQA9FR55lseYoN2Ql1XAHYKHJGu7OMNkUbuekrKCM8= github.com/openimsdk/tools v0.0.49-alpha.2 h1:8IfV6o2ySU7C54sh/MG7ctEp1h3lSNe03OCUDWSk5Ws= diff --git a/internal/tools/cron_task.go b/internal/tools/cron_task.go index 7161f55fc..20baeffaf 100644 --- a/internal/tools/cron_task.go +++ b/internal/tools/cron_task.go @@ -25,8 +25,6 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" "os" - "os/signal" - "syscall" "time" "github.com/openimsdk/tools/errs" @@ -50,22 +48,12 @@ func Start(ctx context.Context, config *CronTaskConfig) error { return errs.WrapMsg(err, "failed to register discovery service") } client.AddOption(mw.GrpcClient(), grpc.WithTransportCredentials(insecure.NewCredentials())) - ctx, exitBy := context.WithCancelCause(context.Background()) ctx = mcontext.SetOpUserID(ctx, config.Share.IMAdminUserID[0]) conn, err := client.GetConn(ctx, config.Share.RpcRegisterName.Msg) if err != nil { return err } cli := msg.NewMsgClient(conn) - go func() { - sigs := make(chan os.Signal, 1) - signal.Notify(sigs, syscall.SIGTERM) - select { - case <-ctx.Done(): - case s := <-sigs: - exitBy(fmt.Errorf("exit signal %s", s)) - } - }() crontab := cron.New() clearFunc := func() { now := time.Now() @@ -84,5 +72,5 @@ func Start(ctx context.Context, config *CronTaskConfig) error { log.ZInfo(ctx, "start cron task", "chatRecordsClearTime", config.CronTask.ChatRecordsClearTime) crontab.Start() <-ctx.Done() - return context.Cause(ctx) + return nil } diff --git a/magefile.go b/magefile.go index 98ffa48f3..a8a1c4040 100644 --- a/magefile.go +++ b/magefile.go @@ -6,22 +6,12 @@ package main import ( "github.com/openimsdk/gomake/mageutil" "os" - "strings" ) var Default = Build func Build() { - platforms := os.Getenv("PLATFORMS") - if platforms == "" { - platforms = mageutil.DetectPlatform() - } - - for _, platform := range strings.Split(platforms, " ") { - mageutil.CompileForPlatform(platform) - } - - mageutil.PrintGreen("All binaries under cmd and tools were successfully compiled.") + mageutil.Build() } func Start() { diff --git a/tools/check-component/main.go b/tools/check-component/main.go index d3225abb8..7fe64d3c5 100644 --- a/tools/check-component/main.go +++ b/tools/check-component/main.go @@ -66,6 +66,7 @@ func initConfig(configDir string) (*config.Mongo, *config.Redis, *config.Kafka, kafkaConfig = &config.Kafka{} minioConfig = &config.Minio{} zookeeperConfig = &config.ZooKeeper{} + thirdConfig = &config.Third{} ) err := config.LoadConfig(filepath.Join(configDir, cmd.MongodbConfigFileName), cmd.ConfigEnvPrefixMap[cmd.MongodbConfigFileName], mongoConfig) if err != nil { @@ -82,11 +83,19 @@ func initConfig(configDir string) (*config.Mongo, *config.Redis, *config.Kafka, return nil, nil, nil, nil, nil, err } - err = config.LoadConfig(filepath.Join(configDir, cmd.MinioConfigFileName), cmd.ConfigEnvPrefixMap[cmd.MinioConfigFileName], minioConfig) + err = config.LoadConfig(filepath.Join(configDir, cmd.OpenIMRPCThirdCfgFileName), cmd.ConfigEnvPrefixMap[cmd.OpenIMRPCThirdCfgFileName], thirdConfig) if err != nil { return nil, nil, nil, nil, nil, err } + if thirdConfig.Object.Enable == "minio" { + err = config.LoadConfig(filepath.Join(configDir, cmd.MinioConfigFileName), cmd.ConfigEnvPrefixMap[cmd.MinioConfigFileName], minioConfig) + if err != nil { + return nil, nil, nil, nil, nil, err + } + } else { + minioConfig = nil + } err = config.LoadConfig(filepath.Join(configDir, cmd.ZookeeperConfigFileName), cmd.ConfigEnvPrefixMap[cmd.ZookeeperConfigFileName], zookeeperConfig) if err != nil { return nil, nil, nil, nil, nil, err @@ -131,14 +140,17 @@ func performChecks(ctx context.Context, mongoConfig *config.Mongo, redisConfig * "Redis": func() error { return CheckRedis(ctx, redisConfig) }, - "MinIO": func() error { - return CheckMinIO(ctx, minioConfig) - }, "Kafka": func() error { return CheckKafka(ctx, kafkaConfig) }, } + if minioConfig != nil { + checks["MinIO"] = func() error { + return CheckMinIO(ctx, minioConfig) + } + } + for i := 0; i < maxRetry; i++ { allSuccess := true for name, check := range checks {