diff --git a/README.md b/README.md index 87a5c52..9b62b19 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # xc_validation_strategy_vllm_stop -用于停止 `zhoukaile` 账号当前全部活跃验证任务的 ModelHub XC 策略服务。 +用于停止 `zhoukaile` 账号当前状态为 `waiting` 的验证任务的 ModelHub XC 策略服务。 服务启动后会调用: @@ -38,7 +38,7 @@ USER_PASSWORD= ## 运行与构建 -仓库根目录的 `Dockerfile` 使用平台 Python 基础镜像,暴露 `8080` 端口并以 `python main.py` 启动。策略构建时请将 `XC_TOKEN` 与 `USER_PASSWORD` 都设置为机密变量;构建成功后,策略会先分页读取当前账号的全部活跃任务,再分批停止。 +仓库根目录的 `Dockerfile` 使用平台 Python 基础镜像,暴露 `8080` 端口并以 `python main.py` 启动。策略构建时请将 `XC_TOKEN` 与 `USER_PASSWORD` 都设置为机密变量;构建成功后,策略会先分页读取当前账号的全部任务,仅筛选状态为 `waiting` 的任务再分批停止。 本地验证: diff --git a/main.py b/main.py index a228415..50e35f0 100644 --- a/main.py +++ b/main.py @@ -1,4 +1,4 @@ -"""Stop zhoukaile's active ModelHub XC validation tasks. +"""Stop zhoukaile's waiting ModelHub XC validation tasks. The service performs the stop requests once at startup and then stays alive so the strategy platform can probe it through ``/health`` and inspect ``/status``. @@ -31,7 +31,7 @@ MAX_RETRIES = int(os.environ.get("MAX_RETRIES", "3")) REQUEST_TIMEOUT = int(os.environ.get("REQUEST_TIMEOUT", "30")) PAGE_SIZE = 100 -ACTIVE_STATUSES = {"waiting", "running", "pending", "processing", "queued"} +STOPPABLE_STATUS = "waiting" _shutdown = threading.Event() _state: dict[str, Any] = { @@ -89,7 +89,7 @@ def _login() -> str: def _current_task_ids() -> list[int]: - """Fetch every active task currently submitted by USER_ACCOUNT. + """Fetch every waiting task currently submitted by USER_ACCOUNT. This intentionally queries the user-facing task page at run time. A static list becomes obsolete as soon as zhoukaile submits more validation tasks. @@ -114,7 +114,7 @@ def _current_task_ids() -> list[int]: data = result.get("data") or {} records = data.get("records") or [] for record in records: - if str(record.get("status", "")).lower() not in ACTIVE_STATUSES: + if str(record.get("status", "")).lower() != STOPPABLE_STATUS: continue try: task_ids.append(int(record["taskId"]))