Update project structure
This commit is contained in:
Executable
+58
@@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
# ============================================================
|
||||
# restart_flask.sh - 语法检查 + 重启 Flask + 验证
|
||||
# 用法: ssh elephant@<AGV_IP> 'bash -s' < scripts/restart_flask.sh
|
||||
# 或在 AGV 上: cd ~/work/agv_app && ../../scripts/restart_flask.sh
|
||||
# ============================================================
|
||||
set -e
|
||||
|
||||
AGV_APP_DIR="${AGV_APP_DIR:-/home/elephant/work/agv_app}"
|
||||
cd "$AGV_APP_DIR"
|
||||
|
||||
echo "=========================================="
|
||||
echo " 重启 Flask 服务"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# 1. 语法检查
|
||||
echo "[1/3] Python 语法检查..."
|
||||
python3 -m py_compile app.py
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "❌ 语法错误,请先修复"
|
||||
exit 1
|
||||
fi
|
||||
echo " ✅ 语法检查通过"
|
||||
|
||||
# 2. 清缓存 + 重启
|
||||
echo "[2/3] 清理缓存并重启..."
|
||||
find "$AGV_APP_DIR" -name '*.pyc' -delete 2>/dev/null
|
||||
find "$AGV_APP_DIR" -name '__pycache__' -type d -exec rm -rf {} + 2>/dev/null
|
||||
|
||||
pkill -f "python.*app.py" 2>/dev/null || true
|
||||
sleep 1
|
||||
nohup python3 app.py > /tmp/agv_flask.log 2>&1 &
|
||||
FLASK_PID=$!
|
||||
echo " Flask PID: $FLASK_PID"
|
||||
|
||||
# 3. 验证
|
||||
echo "[3/3] 验证服务..."
|
||||
sleep 3
|
||||
if ss -tlnp 2>/dev/null | grep -q 5000 || netstat -tlnp 2>/dev/null | grep -q 5000; then
|
||||
echo " ✅ 端口 5000 正常监听"
|
||||
# 测试机械臂摄像头单帧
|
||||
result=$(curl -s --max-time 5 http://127.0.0.1:5000/api/camera/arm_refresh 2>/dev/null | head -c 4)
|
||||
if [ "$result" = "$(echo -en '\xff\xd8\xff\xe0')" ]; then
|
||||
echo " ✅ arm_refresh 返回 JPEG"
|
||||
else
|
||||
echo " ⚠️ arm_refresh 返回异常(机械臂可能未连接)"
|
||||
fi
|
||||
else
|
||||
echo " ❌ 端口 5000 未监听,查看日志:"
|
||||
tail -10 /tmp/agv_flask.log
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo " ✅ 重启完成"
|
||||
echo "=========================================="
|
||||
Reference in New Issue
Block a user