This commit is contained in:
zlwu committed 2025-12-25 22:20:22 +08:00
1 parent ff1228873c
commit 34a843e790
23 files changed
+1541 -718

No files matched your search

+19 -23
View File
@@ -9,13 +9,10 @@
1. **`process_student_changes.sh`** - 处理毕业、退学、休学的状态变更
2. **`process_student_resume.sh`** - 处理复学的状态变更
3. **`control_scripts.sh`** - 脚本控制程序(启动、停止、重启)
4. **`start_services.sh`** - 一键启动所有服务
5. **`stop_services.sh`** - 一键停止所有服务
6. **`health_check.sh`** - 服务健康检查脚本
7. **`data.conf`** - 数据库配置文件
8. **`test_data.sql`** - 测试数据脚本
9. **`optional_crontab_config.txt`** - 可选的定时任务配置(备用)
10. **`demo.sh`** - 脚本使用演示
4. **`health_check.sh`** - 服务健康检查脚本
5. **`data.conf`** - 数据库配置文件
6. **`test_data.sql`** - 测试数据脚本
7. **`optional_crontab_config.txt`** - 可选的定时任务配置(备用)
### 处理逻辑
@@ -53,7 +50,7 @@ DB_USER="root" # 数据库用户名
DB_PASS="password" # 数据库密码
# Script configuration
LOG_DIR="/var/log/student_status_change" # 日志目录
LOG_DIR="./student_status_change" # 日志目录
SCRIPT_DIR="/path/to/scripts" # 脚本目录
LOCK_FILE="${SCRIPT_DIR}/script.lock" # 锁文件
@@ -84,7 +81,7 @@ DB_PASS="your_password"
```bash
# 启动所有服务(持续运行模式)
./start_services.sh
./control_scripts.sh startall
# 查看服务状态
./control_scripts.sh statusall
@@ -92,7 +89,7 @@ DB_PASS="your_password"
#### 持续运行模式说明
- **启动方式**: `./start_services.sh` 一次性启动所有服务
- **启动方式**: `./control_scripts.sh startall` 一次性启动所有服务
- **运行逻辑**: 每个脚本启动后进入while循环,持续监控和处理数据
- **处理周期**: 检查数据库 → 处理未处理记录 → 等待10分钟 → 重复循环
- **并发控制**: 通过锁文件确保同一脚本只运行一个实例
@@ -114,10 +111,10 @@ DB_PASS="your_password"
```bash
# 正常停止所有服务
./stop_services.sh
./control_scripts.sh stopall
# 强制停止所有服务(如果正常停止失败)
./stop_services.sh force
# 手动kill进程或使用系统命令
```
### 5. 健康检查
@@ -187,7 +184,7 @@ DB_PASS="your_password"
## 📝 日志说明
### 日志文件位置
- 日志目录:`/var/log/student_status_change/`
- 日志目录:`./student_status_change/`
- 日志格式:`process_student_changes_YYYYMMDD_HHMMSS.log`
### 日志内容
@@ -268,9 +265,9 @@ rm -f pids/*.pid
脚本采用持续运行模式,启动后自动循环执行:
1. **启动脚本**: `./start_services.sh`
1. **启动脚本**: `./control_scripts.sh startall`
2. **处理逻辑**: 检查未处理的记录 → 处理业务 → 等待10分钟 → 重复
3. **停止脚本**: `./stop_services.sh`
3. **停止脚本**: `./control_scripts.sh stopall`
### 可选的定时任务模式
@@ -286,7 +283,7 @@ crontab -e
| 特性 | 持续运行模式 | Crontab模式 |
|------|-------------|-------------|
| 启动方式 | `./start_services.sh` | crontab配置 |
| 启动方式 | `./control_scripts.sh startall` | crontab配置 |
| 执行频率 | 每10分钟自动 | 可自定义时间 |
| 资源占用 | 常驻进程 | 按需启动 |
| 监控便利性 | 更容易监控 | 需要额外配置 |
@@ -297,16 +294,15 @@ crontab -e
## 🚀 快速开始
### 💡 使用指南
1. **查看演示**: 运行 `./demo.sh` 查看脚本使用说明
2. **配置数据库**: 编辑 `data.conf` 配置数据库连接信息
3. **启动服务**: 使用 `./start_services.sh` 启动持续运行的服务
4. **监控运行**: 使用 `./health_check.sh` 检查服务状态
5. **停止服务**: 需要时使用 `./stop_services.sh` 停止服务
1. **配置数据库**: 编辑 `data.conf` 配置数据库连接信息
2. **启动服务**: 使用 `./control_scripts.sh startall` 启动持续运行的服务
3. **监控运行**: 使用 `./health_check.sh` 检查服务状态
4. **停止服务**: 需要时使用 `./control_scripts.sh stopall` 停止服务
### 🧪 测试步骤
1. **插入测试数据**: 执行 `test_data.sql` 插入测试记录
2. **启动服务**: `./start_services.sh`
3. **观察日志**: 查看 `/var/log/student_status_change/` 目录的日志
2. **启动服务**: `./control_scripts.sh startall`
3. **观察日志**: 查看 `./student_status_change/` 目录的日志
4. **检查结果**: 确认 `xg_student_status_change.process_status` 已更新为1
---