自托管GitHub Actions任务随机卡在Queued状态求助
GitHub自托管Runner任务随机卡Queued+Node.js版本配置失效问题处理
问题描述
- 自托管Runner状态显示在线活跃,但Workflow任务近3天开始随机卡在
queued状态,涉及Generate OpenAPI Specification、Build Frontend APP、Deploy Backend APP等多个不同Job - Runner处于
Idle模式时,卡queued的任务仍无进展,卡顿位置在不同Job间随机出现 - 原Node.js版本配置失效:使用matrix声明
node-version: [16.14]时,实际调用服务器默认的Node.js 20.15版本导致任务失败;改用actions/setup-node@v3配置后,任务可正常响应取消操作,但卡顿问题仍未解决
Node.js版本配置修复
原配置仅通过matrix定义版本变量,未执行Node.js版本的安装与切换逻辑,因此会 fallback 到服务器默认版本。正确的配置应使用官方action完成版本安装:
- name: Set up Node.js 16.14 uses: actions/setup-node@v3 with: node-version: 16.14
该action会自动下载、配置指定版本的Node.js,确保Workflow使用预期的运行环境。
Runner任务卡Queued问题排查方向
- 资源占用检查:查看服务器CPU、内存、磁盘使用率,确认是否存在资源耗尽(如磁盘满、内存不足)导致任务无法调度
- 重启Runner服务:停止并重新启动自托管Runner服务,清理进程残留或连接异常
- 查看Runner日志:检查Runner安装目录下
_diag文件夹中的日志文件,或终端输出日志,定位任务调度失败的具体报错信息 - 并发配置验证:确认仓库Workflow的并发限制、Runner的并发数设置是否合理,是否触发了并发上限
- 网络连通性检查:验证Runner服务器能否正常访问GitHub API,排查是否存在网络波动、防火墙拦截导致的连接问题
- 重新注册Runner:若上述操作无效,尝试注销现有Runner并重新注册,修复可能的注册信息异常
内容的提问来源于stack exchange,提问作者canmustu
相关产品推荐
相关产品推荐

