mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-11-05 03:42:08 +08:00
37 lines
897 B
Go
37 lines
897 B
Go
package checks
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/openimsdk/open-im-server/v3/pkg/common/config"
|
|
"github.com/openimsdk/tools/db/mongoutil"
|
|
"github.com/openimsdk/tools/log"
|
|
)
|
|
|
|
type MongoCheck struct {
|
|
Mongo *config.Mongo
|
|
}
|
|
|
|
func CheckMongo(ctx context.Context, config *MongoCheck) error {
|
|
mongoConfig := &mongoutil.Config{
|
|
Uri: config.Mongo.Uri,
|
|
Address: config.Mongo.Address,
|
|
Database: config.Mongo.Database,
|
|
Username: config.Mongo.Username,
|
|
Password: config.Mongo.Password,
|
|
MaxPoolSize: config.Mongo.MaxPoolSize,
|
|
MaxRetry: 0,
|
|
}
|
|
|
|
log.CInfo(ctx, "Checking MongoDB connection", "URI", mongoConfig.Uri, "Database", mongoConfig.Database)
|
|
|
|
err := mongoutil.CheckMongo(ctx, mongoConfig)
|
|
if err != nil {
|
|
log.CInfo(ctx, "MongoDB connection failed", "error", err)
|
|
return err
|
|
}
|
|
|
|
log.CInfo(ctx, "MongoDB connection established successfully")
|
|
return nil
|
|
}
|