Files
2026-01-04 10:00:08 +08:00

67 lines
2.0 KiB
Bash
Executable File

#!/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 # 完成状态"