refactor: 添加 logger 模块并优化客户端实例清理逻辑

- 新增 logger 模块,统一使用 zap.SugaredLogger
- 将 config_api.go 中的 fmt.Printf 改为 logger.SugaredLogger.Errorf
- 客户端实例清理逻辑改为定时任务(每分钟执行)
- 清理条件改为 last_ping_at 超过 5 分钟
This commit is contained in:
2026-05-02 21:01:26 +08:00
parent 8957286bb5
commit 9a7679960c
5 changed files with 85 additions and 5 deletions
+13
View File
@@ -7,8 +7,10 @@ import (
"kenaito-conf/server/internal/dao"
"kenaito-conf/server/internal/handler"
"kenaito-conf/server/internal/middleware"
"kenaito-conf/server/internal/model"
"kenaito-conf/server/internal/service"
"log"
"time"
"github.com/gin-gonic/gin"
)
@@ -126,6 +128,17 @@ func main() {
// start server
addr := fmt.Sprintf(":%d", config.Cfg.Server.Port)
log.Printf("Server starting on %s", addr)
// 启动定时任务:清理过期的客户端实例记录
go func() {
ticker := time.NewTicker(1 * time.Minute)
defer ticker.Stop()
for range ticker.C {
fiveMinutesAgo := time.Now().Add(-5 * time.Minute)
dao.Engine.Where("last_ping_at < ?", fiveMinutesAgo).Delete(&model.ClientInstance{})
}
}()
if err := r.Run(addr); err != nil {
log.Fatalf("server error: %v", err)
}