50 lines
1.3 KiB
Bash
Executable File
50 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
BACKEND_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
RUN_DIR="$BACKEND_DIR/.run"
|
|
COMPOSE_FILE="$BACKEND_DIR/deploy/docker-compose.yml"
|
|
BACKEND_URL="${HAIXUN_BACKEND_URL:-http://127.0.0.1:8890}"
|
|
WEB_URL="${HAIXUN_WEB_URL:-http://127.0.0.1:5173}"
|
|
|
|
check_pid() {
|
|
local name="$1"
|
|
local file="$RUN_DIR/${name}.pid"
|
|
if [[ -f "$file" ]]; then
|
|
local pid
|
|
pid="$(cat "$file" 2>/dev/null || true)"
|
|
if [[ -n "${pid:-}" ]] && kill -0 "$pid" 2>/dev/null; then
|
|
echo " $name: running (pid=$pid)"
|
|
return 0
|
|
fi
|
|
fi
|
|
echo " $name: stopped"
|
|
return 1
|
|
}
|
|
|
|
echo "Haixun dev services"
|
|
echo ""
|
|
|
|
if command -v docker >/dev/null 2>&1 && [[ -f "$COMPOSE_FILE" ]]; then
|
|
echo "Docker:"
|
|
docker compose -f "$COMPOSE_FILE" ps --format "table {{.Name}}\t{{.Status}}\t{{.Ports}}" 2>/dev/null || echo " (docker compose not running)"
|
|
echo ""
|
|
fi
|
|
|
|
echo "Processes:"
|
|
check_pid api || true
|
|
check_pid web || true
|
|
check_pid worker || true
|
|
echo ""
|
|
|
|
echo "Health:"
|
|
if curl -fsS "$BACKEND_URL/api/v1/health" >/dev/null 2>&1; then
|
|
echo " API health: OK ($BACKEND_URL)"
|
|
else
|
|
echo " API health: down ($BACKEND_URL)"
|
|
fi
|
|
if curl -fsS "$WEB_URL" >/dev/null 2>&1; then
|
|
echo " Web: OK ($WEB_URL)"
|
|
else
|
|
echo " Web: down ($WEB_URL)"
|
|
fi |