| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #!/bin/bash
- # 生产环境数据解析脚本启动器
- echo "=== 学生操行分数据解析器(智能版本选择) ==="
- echo "当前时间: $(date)"
- echo "Python版本: $(python3 --version)"
- echo ""
- # 检查Python版本并选择合适的脚本
- python_version=$(python3 -c "import sys; print(sys.version_info.major * 10 + sys.version_info.minor)")
- echo "检测到Python版本: 3.$(($python_version % 10))"
- # 检查是否有typing模块
- has_typing=$(python3 -c "import typing" 2>/dev/null && echo "yes" || echo "no")
- if [ $python_version -ge 37 ] && [ "$has_typing" = "yes" ]; then
- SCRIPT_NAME="02_parse_score_data_fixed.py"
- echo "使用完整功能版本 (Python 3.7+)"
- elif [ $python_version -ge 36 ] && [ "$has_typing" = "yes" ]; then
- SCRIPT_NAME="02_parse_score_data_py36_compatible.py"
- echo "使用Python 3.6兼容版本"
- else
- SCRIPT_NAME="02_parse_score_data_py34_compatible.py"
- echo "使用Python 3.4+超兼容版本 (无typing模块)"
- fi
- # 检查依赖是否安装
- echo "检查依赖安装..."
- python3 -c "
- try:
- import pymysql
- import pandas
- import sqlalchemy
- print('✓ 所有依赖已安装')
- except ImportError as e:
- print('✗ 缺少依赖:', e)
- print('请运行: pip3 install --user -r requirements-prod.txt')
- exit(1)
- "
- if [ $? -ne 0 ]; then
- exit 1
- fi
- echo ""
- echo "启动数据解析进程..."
- echo "日志文件: 2.log"
- echo "进程ID将保存在: parser.pid"
- echo ""
- # 启动进程
- echo "启动脚本: $SCRIPT_NAME"
- nohup python3 "$SCRIPT_NAME" > 2.log 2>&1 &
- echo $! > parser.pid
- echo "进程已启动 (PID: $(cat parser.pid))"
- echo ""
- echo "查看运行状态:"
- echo " tail -f 2.log # 查看实时日志"
- echo " ps aux | grep python # 查看进程"
- echo " kill \$(cat parser.pid) # 停止进程"
- echo ""
- echo "日志分析:"
- echo " grep '成功' 2.log | wc -l # 成功记录数"
- echo " grep '失败' 2.log | wc -l # 失败记录数"
- echo " grep '解析完成' 2.log # 完成状态"
|