- 修改数据库配置将MYSQL_DB从mys_info_v3改为mys_info_test - 新增auth_users表wechat_openid字段并建立唯一索引 - 为plan_checkins表添加计划性能索引(idx_plan_period_student) - 将checkin_records_old表关联方式从student_id改为user_id - 将plan_checkins表关联方式从student_id改为user_id并更新附件路径 - 移除routes/auth.py中的uuid导入使用安全token生成函数 - 重构routes/checkin.py打卡逻辑去除course_type字段并优化返回结构 - 添加打卡时间限制验证功能防止过期打卡操作 - 实现小组统计功能支持老师查看各组打卡情况 - 更新主页index.html界面适配新的打卡和计划功能 - 调整计划提交时间规则为周五至周四周期 - 添加月度和年度计划提交状态验证机制
37 lines
1.2 KiB
Bash
37 lines
1.2 KiB
Bash
#!/usr/bin/env bash
|
|
# 明缘进阶场 FastAPI 启动脚本 (CentOS7, 固定路径)
|
|
cd /home/clock_server || exit 1
|
|
|
|
PID_FILE=/home/clock_server/logs/prd/server.pid
|
|
LOG_DIR=/home/clock_server/logs
|
|
OUT_LOG=/home/clock_server/logs/prd/server.out.log
|
|
ERR_LOG=/home/clock_server/logs/prd/server.err.log
|
|
|
|
mkdir -p "$LOG_DIR"
|
|
|
|
if [ -f "$PID_FILE" ]; then
|
|
OLD_PID="$(cat "$PID_FILE" 2>/dev/null || true)"
|
|
if [ -n "$OLD_PID" ] && kill -0 "$OLD_PID" 2>/dev/null; then
|
|
echo "服务已在运行 (PID $OLD_PID)"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# 清理 Python 字节码缓存,确保加载最新代码
|
|
echo "清理 __pycache__..."
|
|
find /home/clock_server/server_prd -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null
|
|
find /home/clock_server/server_prd -type f -name "*.pyc" -delete 2>/dev/null
|
|
echo "清理完成"
|
|
|
|
nohup /home/clock_server/pyenv39/bin/python -m uvicorn server_prd.main:app --host 0.0.0.0 --port 8001 >"$OUT_LOG" 2>"$ERR_LOG" &
|
|
echo $! > "$PID_FILE"
|
|
|
|
sleep 1
|
|
if kill -0 "$(cat "$PID_FILE")" 2>/dev/null; then
|
|
echo "启动成功 PID $(cat "$PID_FILE") (http://0.0.0.0:8001)"
|
|
echo "日志: $OUT_LOG"
|
|
echo "错误: $ERR_LOG"
|
|
else
|
|
echo "启动失败,请查看: $ERR_LOG" >&2
|
|
exit 1
|
|
fi |