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

如何在Jenkins Pipeline(Groovy)中用Throttle功能限制任务运行频次

Jenkinsfile中使用Throttle功能的语法

要在Pipeline(Jenkinsfile)中实现Throttle功能,需借助Throttle Concurrent Builds插件,核心通过throttle步骤配置限制规则。针对你「每3天最多运行1次」的需求,示例语法如下:

pipeline {
    agent any
    options {
        throttle(
            categories: ['db-task-throttle'], // 自定义分类名,用于标识节流规则组
            maxConcurrentPerNode: 1, // 单节点最多同时运行1个实例
            maxConcurrentTotal: 1, // 全局最多同时运行1个实例
            throttleEnabled: true,
            throttleOption: 'project', // 仅对当前项目生效,选category则同分类任务共享规则
            period: 72, // 时间周期,单位为小时(3天=72小时)
            count: 1 // 该周期内允许的最大运行次数
        )
    }
    stages {
        stage('耗时数据库任务') {
            steps {
                echo '执行数据库查询等核心逻辑'
                // 你的任务执行代码
            }
        }
    }
}

关键参数说明

  • categories:自定义分类标识,若多个任务需要共享同一节流规则,设置相同分类名即可
  • period + count:组合定义时间周期内的运行上限,这里72小时+1次正好匹配你每3天最多运行1次的需求
  • maxConcurrentPerNode/maxConcurrentTotal:确保同一时间只有1个任务实例在运行,避免失败重试或计划触发导致的重复执行

注意事项

  • 必须提前安装Throttle Concurrent Builds插件,否则throttle步骤会执行失败
  • 若需要更复杂的时间窗口限制(比如固定每周特定日期),可结合任务的cron计划配置,但核心的频次限制仍通过period和count实现

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 20:03:11