release: bump version to 0.37.1

This commit is contained in:
linkong
2026-04-23 11:05:30 +08:00
parent 67f82dc41c
commit 987c378f99
7 changed files with 63 additions and 9 deletions

View File

@@ -1025,7 +1025,14 @@ start_postgres_service() {
# Backend lifecycle helpers
cleanup_backend_processes() {
pkill -f "uvicorn" 2>/dev/null || true
local backend_port="${1:-$DEFAULT_BACKEND_PORT}"
terminate_backend_processes TERM "$backend_port"
if ! wait_for_port_release "$backend_port"; then
terminate_backend_processes KILL "$backend_port"
wait_for_port_release "$backend_port" || true
fi
}
start_backend_with_retry() {
@@ -1033,7 +1040,7 @@ start_backend_with_retry() {
local retry=1
while [ "$retry" -le "$BACKEND_MAX_RETRIES" ]; do
cleanup_backend_processes
cleanup_backend_processes "$backend_port"
cd "$SCRIPT_DIR/backend"
PYTHONPATH="$SCRIPT_DIR/backend" nohup uv run --project "$SCRIPT_DIR" python -m uvicorn app.main:app --host 0.0.0.0 --port "$backend_port" --reload > /tmp/planet_backend.log 2>&1 &
BACKEND_PID=$!
@@ -1242,6 +1249,39 @@ collect_port_pids() {
return 1
}
terminate_process_group() {
local signal="$1"
local pid="$2"
local pgid=""
[ -n "$pid" ] || return 0
kill -0 "$pid" 2>/dev/null || return 0
pgid="$(ps -o pgid= -p "$pid" 2>/dev/null | tr -d '[:space:]')"
[ -n "$pgid" ] || return 0
kill "-${signal}" -- "-${pgid}" 2>/dev/null || true
}
terminate_backend_processes() {
local signal="$1"
local backend_port="$2"
local pids=""
local pid=""
pids="$(pgrep -f "uvicorn" 2>/dev/null || true)"
for pid in $pids; do
terminate_process_group "$signal" "$pid"
terminate_process_tree "$signal" "$pid"
done
pids="$(collect_port_pids "$backend_port" || true)"
for pid in $pids; do
terminate_process_group "$signal" "$pid"
terminate_process_tree "$signal" "$pid"
done
}
terminate_process_tree() {
local signal="$1"
local pid="$2"
@@ -1521,8 +1561,8 @@ stop_container_if_running() {
}
stop_backend_service() {
if pgrep -f "uvicorn" >/dev/null 2>&1; then
cleanup_backend_processes
if pgrep -f "uvicorn" >/dev/null 2>&1 || ! can_bind_port "$DEFAULT_BACKEND_PORT"; then
cleanup_backend_processes "$DEFAULT_BACKEND_PORT"
log_halt "后端服务已停止"
fi
}