|
|
@@ -42,7 +42,13 @@ echo "==> 4/5 服务器拉取(git pull,非 scp)+ 后端按需重启"
|
|
|
ssh -o BatchMode=yes "$SERVER" '
|
|
|
cd $HOME/hs-data && GIT_TERMINAL_PROMPT=0 git pull -q
|
|
|
cd $HOME/hs-api && before=$(git rev-parse HEAD) && GIT_TERMINAL_PROMPT=0 git pull -q && after=$(git rev-parse HEAD)
|
|
|
- if [ "$before" != "$after" ]; then echo "后端有更新 → 重启 uvicorn"; pkill -f "uvicorn app.main:app" || true; sleep 1; fi
|
|
|
+ if [ "$before" != "$after" ]; then
|
|
|
+ echo "后端有更新 → 重启 uvicorn"
|
|
|
+ pkill -f "uvicorn app.main:app" || true
|
|
|
+ # 等优雅退出彻底结束(避免 serve 脚本看到将死进程而误判在跑),再补 SIGKILL。
|
|
|
+ for i in $(seq 1 20); do pgrep -f "uvicorn app.main:app" >/dev/null || break; sleep 0.5; done
|
|
|
+ pkill -9 -f "uvicorn app.main:app" 2>/dev/null || true
|
|
|
+ fi
|
|
|
bash $HOME/serve-hs-api.sh
|
|
|
echo pulled-ok
|
|
|
'
|