#!/usr/bin/env bash # 对本机已启动的 Go 服务做 demo 冒烟(默认 :18097)。 # 注意:勿与 Java 实例同时抢同一库的 queued。 set -euo pipefail BASE="${BASE:-http://127.0.0.1:18097/api/v1/analysis}" echo "== health ==" curl -sS "$BASE/health" | tee /tmp/eba-smoke-health.json echo CREATE=$(curl -sS -X POST "$BASE/jobs" -H 'Content-Type: application/json' \ -d '{"taskId":"smoke-'"$(date +%s)"'","title":"smoke","manualIntervention":true,"agents":[{"id":"a1","name":"甲"},{"id":"a2","name":"乙"}]}') JOB=$(echo "$CREATE" | python3 -c 'import sys,json;print(json.load(sys.stdin)["data"]["id"])') echo "job=$JOB" for i in $(seq 1 40); do J=$(curl -sS "$BASE/jobs/$JOB") ST=$(echo "$J" | python3 -c 'import sys,json;print(json.load(sys.stdin)["data"]["status"])') PCT=$(echo "$J" | python3 -c 'import sys,json;print(json.load(sys.stdin)["data"].get("progress",{}).get("percent",0))') echo "tick=$i status=$ST percent=$PCT" [ "$ST" = "done" ] && break sleep 0.5 done echo OK