67 lines
2.0 KiB
Bash
Executable File
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 # 完成状态"
|