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
+9 -8
View File
@@ -5,6 +5,7 @@ APP_DIR="$(cd "$(dirname "$0")" && pwd)"
DEPLOY_DIR="$APP_DIR/deploy"
SERVICE_DIR="/etc/systemd/system"
LOG_DIR="$APP_DIR/logs"
SERVICES="server cli scheduler"
if [ "$(id -u)" -ne 0 ]; then
echo "请使用 root 权限运行: sudo bash install.sh"
@@ -15,14 +16,13 @@ mkdir -p "$LOG_DIR"
echo "=== 安装 systemd 服务 ==="
for svc in server cli; do
for svc in $SERVICES; do
src="$DEPLOY_DIR/${svc}.service"
if [ ! -f "$src" ]; then
echo "[${svc}] service 文件不存在: $src"
continue
fi
# 用实际路径替换模板中的 /root
sed "s|WorkingDirectory=/root|WorkingDirectory=$APP_DIR|g; \
s|ExecStart=/root/|ExecStart=$APP_DIR/|g; \
s|EnvironmentFile=-/root/.env|EnvironmentFile=-$APP_DIR/.env|g; \
@@ -34,7 +34,7 @@ done
systemctl daemon-reload
for svc in server cli; do
for svc in $SERVICES; do
systemctl enable "$svc"
echo "[${svc}] 已设置开机自启"
done
@@ -42,8 +42,9 @@ done
echo ""
echo "=== 安装完成 ==="
echo "使用方式:"
echo " bash start.sh # 启动全部"
echo " bash stop.sh # 停止全部"
echo " bash restart.sh # 重启全部"
echo " systemctl status server # 查看主服务状态"
echo " journalctl -u server -f # 查看主服务实时日志"
echo " bash start.sh # 启动全部"
echo " bash stop.sh # 停止全部"
echo " bash restart.sh # 重启全部"
echo " systemctl status server # 查看主服务状态"
echo " systemctl status scheduler # 查看调度器状态"
echo " journalctl -u scheduler -f # 查看调度器实时日志"