You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法终止阻塞新任务的Azure Pipelines排队任务求助

解决Azure Pipelines中Microsoft-hosted Agent池阻塞的僵尸任务问题

核心问题定位

你遇到的是**僵尸任务(Zombie Jobs)**异常:任务实际已完成(REST API返回"status": "completed"),但UI仍显示为运行中,且持续占用代理池配额,导致新任务无法调度。这类问题多由Azure Pipelines服务端状态同步异常引发。

可行解决方法

方法1:调用任务级REST API强制终止

构建级DELETE接口无效时,可直接针对jobId调用任务状态更新接口:

  1. 获取目标任务的jobId:可通过浏览器开发者工具查看任务元素属性,或调用构建详情API(GET https://dev.azure.com/{org}/{proj}/_apis/build/builds/{buildId}?api-version=7.1-preview.1)从jobs节点提取
  2. 执行以下API请求(替换占位符):
    PATCH https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/jobs/{jobId}?api-version=7.1-preview.1
    
    请求体(将任务状态设为取消):
    {
      "status": "cancelling"
    }
    
    认证要求:使用具备**Build (Edit)**权限的PAT令牌

方法2:重置代理池任务队列

若任务级API无效,可尝试重置组织级Microsoft-hosted Agent池的队列:

  1. 进入组织设置 → Agent pools → 选中目标Microsoft-hosted池(如Azure Pipelines)
  2. 切换到Settings标签页
  3. 找到Reset agent queue选项并执行,此操作会清除所有排队/异常任务,需确认无正在运行的有效任务

方法3:提交Azure官方支持工单

若以上方法均无效,直接提交Azure支持工单:

  • 服务选择:Azure DevOps Services
  • 问题类型:Pipelines & Agents
  • 需提供信息:组织/项目名称、阻塞任务的buildId和jobId、UI异常截图、API查询结果截图
    微软支持团队可直接在后端清理异常任务状态

注意事项

  • 操作前务必确认无正在运行的有效任务,避免误中断正常流水线
  • PAT令牌需授予足够权限,否则会导致API调用失败
  • 代理池重置仅清理队列状态,不会删除已完成的构建记录

内容的提问来源于stack exchange,提问作者strumpy_strudel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 19:43:14