feat: 添加数据库集成、定时任务调度器和事件Hook体系

- 新增数据库配置项(DB_TYPE, DB_HOST, DB_PORT等),支持MySQL和PostgreSQL
- 集成GORM实现数据库连接和自动迁移功能
- 添加定时任务调度器(cmd/scheduler),基于robfig/cron实现秒级调度
- 实现事件Hook体系,支持同步/异步处理和优先级排序
- 更新构建脚本,编译server、cli、scheduler三个二进制文件
- 配置systemd服务管理定时任务调度器
- 重构项目结构,新增crontab和hooks目录模块
- 更新README文档,完善各组件使用说明和部署配置
This commit is contained in:
shiran
2026-04-15 12:39:59 +08:00
parent 6050d11f27
commit aa9f892a32
22 changed files with 753 additions and 141 deletions
+27
View File
@@ -0,0 +1,27 @@
package tasks
import (
"apiServer_service/utils/logger"
"fmt"
"runtime"
)
// HealthCheckTask 健康检查示例任务
type HealthCheckTask struct{}
func (t *HealthCheckTask) Name() string {
return "健康检查"
}
func (t *HealthCheckTask) Spec() string {
return "0 */5 * * * *"
}
func (t *HealthCheckTask) Run() {
var m runtime.MemStats
runtime.ReadMemStats(&m)
logger.CronInfo("HealthCheck", fmt.Sprintf(
"goroutines=%d, heap=%dMB, sys=%dMB",
runtime.NumGoroutine(), m.HeapAlloc/1024/1024, m.Sys/1024/1024,
))
}
+13
View File
@@ -0,0 +1,13 @@
package tasks
import (
"apiServer_service/crontab"
)
// RegisterTasks 注册所有定时任务,新增任务在此添加
func RegisterTasks(scheduler *crontab.Scheduler) {
scheduler.Register(&HealthCheckTask{})
// 新增任务示例:
// scheduler.Register(NewXxxTask())
}