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
+5 -6
View File
@@ -16,6 +16,7 @@ jobs:
run: |
go build -ldflags="-s -w" -o server ./cmd/main_program
go build -ldflags="-s -w" -o cli ./cmd/cli_control
go build -ldflags="-s -w" -o scheduler ./cmd/scheduler
- name: Save artifact
uses: actions/upload-artifact@v3
@@ -24,6 +25,7 @@ jobs:
path: |
./server
./cli
./scheduler
deploy:
needs: build
@@ -51,13 +53,10 @@ jobs:
while read -r ip; do
if [ -n "$ip" ]; then
echo "Deploying to $ip..."
scp -o StrictHostKeyChecking=no server ${{ vars.ROOT_USER_NAME }}@"$ip":/root/server.tmp
scp -o StrictHostKeyChecking=no cli ${{ vars.ROOT_USER_NAME }}@"$ip":/root/cli.tmp
scp -o StrictHostKeyChecking=no server cli scheduler ${{ vars.ROOT_USER_NAME }}@"$ip":/root/
ssh -n ${{ vars.ROOT_USER_NAME }}@"$ip" << 'ENDSSH'
mv /root/server.tmp /root/server
mv /root/cli.tmp /root/cli
chmod +x /root/server /root/cli
systemctl restart server cli
chmod +x /root/server /root/cli /root/scheduler
systemctl restart server cli scheduler
ENDSSH
echo "Deployment to $ip completed"
fi