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

GitHub Actions中限制Run Script工作流仅单实例运行的问题

限制GitHub Actions工作流仅运行单个实例并取消多余待处理任务

要实现让名为“Run Script”的GitHub Actions工作流同时仅运行一个实例,且触发多次时仅保留1个待处理任务、取消其余请求的需求,只需调整concurrency配置,添加cancel-waiting: true参数即可。

修改后的完整工作流配置如下:

name: Run Script

on:
  workflow_dispatch:
  
concurrency:
  group: my-concurrency-group
  cancel-in-progress: false
  cancel-waiting: true
  
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Installing python
        uses: actions/setup-python@v4
        with:
          python-version: '3.9'
          cache: 'pip'

核心配置解析

  • concurrency.group: 定义并发组my-concurrency-group,所有归属该组的工作流实例会受到统一的并发规则约束。
  • cancel-in-progress: false: 保持当前运行中的工作流实例不被中断,确保正在执行的任务能正常完成。
  • cancel-waiting: true: 开启后,当新的工作流请求进入待处理队列时,会自动取消该组内所有更早的待处理请求,仅保留最新的一个待处理任务。这正是你需要的——触发5次时,仅1个任务处于待处理状态,其余被取消,且会返回报错信息:Canceling since a higher priority waiting request for 'my-concurrency-group' exists。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 03:40:03