Private
Public Access
1
0

重构:文件系统模块化架构,优化应用启动流程

This commit is contained in:
2026-01-28 00:28:54 +08:00
parent 4a9b25a505
commit 8c577f70e7
123 changed files with 32030 additions and 967 deletions

View File

@@ -4,7 +4,8 @@ import (
"context"
"fmt"
"net/url"
"time"
"go-desk/internal/common"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
@@ -107,11 +108,11 @@ func tryConnectMongo(config *MongoConfig, authSource, authMechanism string) (*Mo
// 客户端选项
clientOptions := options.Client().
ApplyURI(uri).
SetConnectTimeout(5 * time.Second).
SetServerSelectionTimeout(5 * time.Second)
SetConnectTimeout(common.TimeoutConnect).
SetServerSelectionTimeout(common.TimeoutConnect)
// 创建客户端
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
ctx, cancel := context.WithTimeout(context.Background(), common.TimeoutConnect)
defer cancel()
client, err := mongo.Connect(ctx, clientOptions)
@@ -169,7 +170,7 @@ func TestMongoConnectionWithOptions(host string, port int, username, password, d
// Close 关闭连接
func (c *MongoClient) Close() error {
if c.client != nil {
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
ctx, cancel := context.WithTimeout(context.Background(), common.TimeoutConnect)
defer cancel()
return c.client.Disconnect(ctx)
}

View File

@@ -5,8 +5,8 @@ import (
"encoding/json"
"fmt"
"sync"
"time"
"go-desk/internal/common"
"go-desk/internal/crypto"
"go-desk/internal/storage/models"
)
@@ -84,7 +84,7 @@ func (p *ConnectionPool) GetRedisClient(conn *models.DbConnection) (*RedisClient
// 检查是否已存在
if client, ok := p.redisClients[conn.ID]; ok {
// 测试连接是否有效
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
ctx, cancel := context.WithTimeout(context.Background(), common.TimeoutPing)
defer cancel()
if err := client.client.Ping(ctx).Err(); err == nil {
return client, nil
@@ -140,7 +140,7 @@ func (p *ConnectionPool) GetMongoClient(conn *models.DbConnection) (*MongoClient
// 检查是否已存在
if client, ok := p.mongoClients[conn.ID]; ok {
// 测试连接是否有效
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
ctx, cancel := context.WithTimeout(context.Background(), common.TimeoutPing)
defer cancel()
if err := client.client.Ping(ctx, nil); err == nil {
return client, nil

View File

@@ -5,6 +5,8 @@ import (
"fmt"
"time"
"go-desk/internal/common"
"github.com/redis/go-redis/v9"
)
@@ -30,13 +32,13 @@ func NewRedisClient(config *RedisConfig) (*RedisClient, error) {
Addr: addr,
Password: config.Password,
DB: config.DB,
DialTimeout: 5 * time.Second,
DialTimeout: common.TimeoutConnect,
ReadTimeout: 3 * time.Second,
WriteTimeout: 3 * time.Second,
})
// 测试连接
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
ctx, cancel := context.WithTimeout(context.Background(), common.TimeoutConnect)
defer cancel()
if err := rdb.Ping(ctx).Err(); err != nil {