mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-11-01 00:42:13 +08:00 
			
		
		
		
	Merge branch 'openimsdk:main' into main
This commit is contained in:
		
						commit
						1046323b55
					
				
							
								
								
									
										3
									
								
								.github/workflows/build-docker-image.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.github/workflows/build-docker-image.yml
									
									
									
									
										vendored
									
									
								
							| @ -15,8 +15,6 @@ | ||||
| name: Publish Docker image | ||||
| 
 | ||||
| on: | ||||
|   schedule: | ||||
|   - cron: '30 2 * * *' | ||||
|   push: | ||||
|     branches: | ||||
|       - main | ||||
| @ -31,6 +29,7 @@ env: | ||||
| 
 | ||||
| jobs: | ||||
|   build-dockerhub: | ||||
|     if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action == 'closed' && github.event.pull_request.merged == true) | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|  | ||||
							
								
								
									
										4
									
								
								.github/workflows/stale.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/stale.yml
									
									
									
									
										vendored
									
									
								
							| @ -21,7 +21,7 @@ name: Mark stale issues and pull requests | ||||
| 
 | ||||
| on: | ||||
|   schedule: | ||||
|   - cron: '0 8 * * *' | ||||
|   - cron: '0 8 * * 1' | ||||
| 
 | ||||
| jobs: | ||||
|   stale: | ||||
| @ -36,7 +36,7 @@ jobs: | ||||
|       with: | ||||
|         repo-token: ${{ secrets.BOT_GITHUB_TOKEN }} | ||||
|         days-before-stale: 60 | ||||
|         days-before-close: 7 | ||||
|         days-before-close: 305 | ||||
|         stale-issue-message: 'This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.' | ||||
|         stale-pr-message: 'This issue is stale because it has been open 60 days with no activity.' | ||||
|         close-issue-message: 'This issue was closed because it has been stalled for 7 days with no activity.' | ||||
|  | ||||
| @ -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 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										3
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								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 | ||||
|  | ||||
							
								
								
									
										4
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								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= | ||||
|  | ||||
| @ -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 | ||||
| } | ||||
|  | ||||
							
								
								
									
										12
									
								
								magefile.go
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								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() { | ||||
|  | ||||
| @ -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 { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user