修复列表页加载慢并支持 Gitea 1.27 一键停止

1. 状态同步加 20 秒节流、超时缩短到 8 秒;Gitea 改用 runs 列表接口一次批量取回全部任务状态,在途任务并发补查作业,消除逐任务串行 API 请求导致的后台/我的构建/详情页慢。

2. 停止时先区分 404:运行已删除则本地标记取消;Gitea 1.27 无取消 API 时,若后台配置了 Gitea 网页账号密码则模拟网页登录取消,否则回退手动链接提示。

3. 后台 Gitea 连接设置新增网页登录账号/密码两个可选项。
This commit is contained in:
naeeo
2026-09-30 01:04:16 +08:00
parent 5ff6bcfe51
commit c8f41a34c0
6 changed files with 349 additions and 35 deletions
+8
View File
@@ -61,6 +61,14 @@ class BuildBackend:
"""查询单次运行;网络异常或非 200 返回 None(调用方按「仍在进行」处理)。"""
raise NotImplementedError
def get_runs_batch(self, run_ids, *, timeout=12):
"""批量查询多个运行,返回 {str(run_id): RunInfo}。
列表页一次刷新多个在途任务时使用;平台不支持或查询失败返回 None,
调用方退化为逐个 get_run。返回字典中缺失的 id 由调用方逐个兜底。
"""
return None
def cancel_run(self, run_id, *, timeout=15):
"""请求平台取消一次运行;成功无返回,已结束时抛 BackendError(kind='finished')。"""
raise NotImplementedError