签入版本
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
"""健康检查脚本。
|
||||
|
||||
用法:python scripts/health_check.py [--host HOST] [--port PORT]
|
||||
"""
|
||||
import argparse
|
||||
import sys
|
||||
import urllib.request
|
||||
from pathlib import Path
|
||||
|
||||
SRC = Path(__file__).resolve().parent.parent / "src"
|
||||
sys.path.insert(0, str(SRC))
|
||||
|
||||
from config.app import TORNADO_HOST, TORNADO_PORT
|
||||
|
||||
|
||||
def check(host: str, port: int) -> None:
|
||||
url = f"http://{host}:{port}/api/v1/health"
|
||||
try:
|
||||
with urllib.request.urlopen(url, timeout=10) as resp:
|
||||
body = resp.read().decode("utf-8")
|
||||
if resp.status == 200:
|
||||
print(f"[OK] {url} -> {resp.status} {body}")
|
||||
else:
|
||||
print(f"[WARN] {url} -> {resp.status} {body}")
|
||||
sys.exit(1)
|
||||
except Exception as e:
|
||||
print(f"[FAIL] {url} 不可达: {e}")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser(description="健康检查")
|
||||
parser.add_argument("--host", default=TORNADO_HOST)
|
||||
parser.add_argument("--port", type=int, default=TORNADO_PORT)
|
||||
args = parser.parse_args()
|
||||
check(args.host, args.port)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user