Files
GPA_Monitoring/docs/快速更新指南.md
ChuXun 2e0e4ea8c6 1
2026-01-29 04:44:49 +08:00

3.5 KiB
Raw Blame History

快速更新指南 - 修复会话过期问题

🎯 本次更新解决的问题

症状: 程序运行几小时后出现:

[WARNING] 未能提取到成绩信息,返回原始文本
[INFO] 成绩无变化(共 0 门课程)

原因: 登录会话过期,需要重新登录

解决: 自动检测并重新登录


📦 方式1快速更新推荐

在本地打包

cd /mnt/e/50425/Documents/Github/GPA_Monitoring
chmod +x 打包.sh
./打包.sh

上传到服务器

scp gpa_monitor.tar.gz 用户名@服务器IP:~/

在服务器上更新

# 停止服务
systemctl stop grade-monitor

# 备份
cd ~/grade_monitor
cp monitor.py monitor.py.backup.$(date +%Y%m%d)

# 解压更新
tar -xzf ~/gpa_monitor.tar.gz -C ~/grade_monitor

# 赋予权限
chmod +x diagnose.sh

# 重启服务
systemctl restart grade-monitor

# 查看日志(确认自动重新登录功能)
tail -f monitor.log

🔧 方式2仅更新 monitor.py

如果只想更新主程序文件:

在本地

# WSL中
cd /mnt/e/50425/Documents/Github/GPA_Monitoring
scp monitor.py 用户名@服务器IP:~/grade_monitor/

在服务器上

systemctl stop grade-monitor
systemctl start grade-monitor
tail -f ~/grade_monitor/monitor.log

验证更新成功

查看日志,应该能看到:

正常运行

[INFO] 开始新一轮检查
[INFO] 获取成绩页面...
[DEBUG] 找到成绩表格
[INFO] 成功提取成绩信息,共 17 行
[INFO] 共解析到 15 门课程
[INFO] 成绩无变化(共 15 门课程)

会话过期时自动处理

[WARNING] 检测到会话过期,尝试重新登录...
[INFO] 开始登录统一身份认证...
[INFO] 登录成功!成功访问成绩页面
[INFO] 重新登录成功,继续监控

🔍 故障诊断

如果更新后仍有问题:

cd ~/grade_monitor

# 运行诊断工具
./diagnose.sh

# 或手动测试
python3 monitor.py --test --debug

# 查看生成的调试文件
ls -lh debug_page.html
cat .last_grade_content.txt

📋 更新内容详细列表

  1. 会话过期自动重新登录 (monitor.py 第697-718行)

    • 检测 LOGIN_REQUIRED 状态
    • 自动调用 login() 重新登录
    • 记录详细日志
  2. 改进成绩提取 (monitor.py 第286-370行)

    • 检测登录页面
    • 支持多种表格选择器
    • 自动保存 debug_page.html
    • 添加详细调试日志
  3. 改进课程解析 (monitor.py 第375-405行)

    • 检测登录失效
    • 识别未解析的HTML
    • 统计课程数量
  4. 新增调试模式

    • python3 monitor.py --debug
    • 显示详细运行信息
  5. 新增诊断工具

    • diagnose.sh - 自动检测并给出建议
    • 故障排查指南.md - 详细排查步骤

💡 最佳实践

  1. 定期检查日志每天1-2次即可

    tail -n 50 ~/grade_monitor/monitor.log
    
  2. 不要频繁重启服务

    • 新版本会自动处理会话过期
    • 只在真正出问题时才重启
  3. 保留备份

    # 每次更新前都会自动备份
    ls -lh ~/grade_monitor/monitor.py.backup.*
    
  4. 合理设置检查间隔

    • 建议 120-300 秒
    • 避免触发学校系统限流

🆘 需要帮助?

  1. 先运行诊断工具:./diagnose.sh
  2. 查看故障排查指南:cat 故障排查指南.md
  3. 查看详细修复说明:cat 修复说明_2026-01-21.md

更新日期: 2026-01-21
版本: v2.0 - 自动会话恢复版