#!/usr/bin/env python3 # -*- coding: utf-8 -*- """作业 1 · 步骤 1:把 FastAPI 服务部署到 207 并启动。""" from __future__ import annotations import sys from pathlib import Path import _bootstrap # noqa: F401 import _config as C from dify_api import Dify REMOTE_DIR = "/opt/server_status_api" REMOTE_PY = REMOTE_DIR + "/作业1_server_status_api.py" LOCAL_PY = Path(__file__).resolve().parent / "作业1_server_status_api.py" LOCAL_SH = Path(__file__).resolve().parents[2] / "scripts_bash_cursor" / "作业1_带工具调用的Agent_服务器状态" / "作业1_启动_server_status.sh" def main() -> int: d = Dify(C.DIFY_EMAIL, C.DIFY_PASSWORD) try: d.login() d.sh("mkdir -p %s" % REMOTE_DIR) d.sftp.put(str(LOCAL_PY), REMOTE_PY) d.sftp.put(str(LOCAL_SH), "/tmp/作业1_启动_server_status.sh") out, err = d.sh( "bash /tmp/作业1_启动_server_status.sh && " "curl -sf '%s/server/status?server_name=gpu-server-01'" % C.SERVER_STATUS_BASE ) print(out or err) if "gpu-server-01" not in (out or ""): print("[FAIL] 服务未返回预期 JSON") return 1 print("[OK] FastAPI 已在 %s 运行" % C.SERVER_STATUS_BASE) return 0 finally: d.close() if __name__ == "__main__": sys.exit(main())