在前后端开发联调前 的提交20260223
This commit is contained in:
34
scripts/ops/poll_v9.py
Normal file
34
scripts/ops/poll_v9.py
Normal file
@@ -0,0 +1,34 @@
|
||||
"""轮询 v9 执行结果"""
|
||||
import time, requests, json, os, sys
|
||||
from pathlib import Path
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv(Path(__file__).resolve().parents[2] / ".env")
|
||||
|
||||
EXEC_ID = "847822eb-e63b-46c0-929e-5d5f184a052e"
|
||||
BASE = "http://localhost:8000"
|
||||
TOKEN_FILE = Path(__file__).parent / ".monitor_token"
|
||||
|
||||
def get_token():
|
||||
return TOKEN_FILE.read_text().strip()
|
||||
|
||||
def poll():
|
||||
token = get_token()
|
||||
headers = {"Authorization": f"Bearer {token}"}
|
||||
for attempt in range(60):
|
||||
r = requests.get(f"{BASE}/api/execution/{EXEC_ID}", headers=headers)
|
||||
if r.status_code == 401:
|
||||
print("Token 过期,请刷新")
|
||||
sys.exit(1)
|
||||
data = r.json()
|
||||
status = data.get("status", "unknown")
|
||||
print(f"[{attempt+1}] status={status}")
|
||||
if status in ("completed", "failed", "partial"):
|
||||
print(json.dumps(data, indent=2, ensure_ascii=False))
|
||||
return data
|
||||
time.sleep(5)
|
||||
print("超时")
|
||||
return None
|
||||
|
||||
if __name__ == "__main__":
|
||||
poll()
|
||||
Reference in New Issue
Block a user