This commit is contained in:
Your Name
2026-04-16 21:35:47 +08:00
parent ff32aa50bf
commit ebf632e651
86 changed files with 14097 additions and 585 deletions

View File

@@ -0,0 +1,65 @@
#!/usr/bin/env bash
set -euo pipefail
BASE_URL="${1:-http://127.0.0.1:8100}"
API_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
PYTHON_BIN="${PYTHON_BIN:-/opt/domaincheck/domainCheck/.venv/bin/python}"
SIM_SCRIPT="$API_DIR/deploy/multi-region/simulate_cluster_node.py"
RUNTIME_DIR="$API_DIR/runtime"
mkdir -p "$RUNTIME_DIR"
CONTROLLER_LOG="$RUNTIME_DIR/sim-mainland-controller.log"
WORKER_LOG="$RUNTIME_DIR/sim-mainland-worker.log"
cleanup() {
set +e
if [ -n "${CTRL_PID:-}" ]; then kill "$CTRL_PID" >/dev/null 2>&1 || true; fi
if [ -n "${WORKER_PID:-}" ]; then kill "$WORKER_PID" >/dev/null 2>&1 || true; fi
"$PYTHON_BIN" "$SIM_SCRIPT" --node-code mainland-controller-sim --region mainland --role control --clear >/dev/null 2>&1 || true
"$PYTHON_BIN" "$SIM_SCRIPT" --node-code mainland-worker-sim-01 --region mainland --role worker --clear >/dev/null 2>&1 || true
}
trap cleanup EXIT
echo "[1/4] start simulated mainland controller"
"$PYTHON_BIN" "$SIM_SCRIPT" \
--node-code mainland-controller-sim \
--region mainland \
--role control \
--status online \
--detail "模拟大陆 controller 联调节点" \
--interval 15 >"$CONTROLLER_LOG" 2>&1 &
CTRL_PID=$!
echo "[2/4] start simulated mainland worker"
"$PYTHON_BIN" "$SIM_SCRIPT" \
--node-code mainland-worker-sim-01 \
--region mainland \
--role worker \
--status busy \
--current-load 1 \
--phase "running" \
--detail "模拟大陆 worker 执行中" \
--job-id 1 \
--job-code "detect-simulated-cluster" \
--cycle-token "simcycle001" \
--active-threads 5 \
--available-proxy-count 12 \
--interval 15 >"$WORKER_LOG" 2>&1 &
WORKER_PID=$!
sleep 2
echo "[3/4] runtime readiness"
curl -fsS "${BASE_URL}/api/v1/runtime/readiness"
echo
echo
echo "[4/4] runtime cluster summary"
curl -fsS "${BASE_URL}/api/v1/runtime/cluster"
echo
echo
echo "simulated nodes running:"
echo " controller log: $CONTROLLER_LOG"
echo " worker log: $WORKER_LOG"
echo "press Ctrl+C to stop simulation and clean up"
wait