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

Artifactory HA环境中带定时执行的用户插件执行节点咨询

Artifactory HA集群中定时用户插件的执行机制

默认情况下,不带额外集群协调配置的定时用户插件,会在HA集群的所有节点上并发执行。每个节点都会独立加载插件并触发定时任务,Artifactory没有内置的分布式锁来阻止多节点同时执行。

如果要确保任务仅在单个节点上运行,需要手动实现集群协调逻辑:

  • 借助Artifactory的分布式锁API:通过context.distributedLock获取全局锁,只有成功拿到锁的节点才执行任务,其他节点直接跳过。
  • 示例代码片段:
def lock = context.distributedLock.acquireLock("my-scheduled-task-lock", 10000)
try {
    if (lock) {
        // 此处编写定时任务的核心逻辑
    }
} finally {
    if (lock) {
        context.distributedLock.releaseLock("my-scheduled-task-lock")
    }
}
  • 也可以通过判断节点角色(比如仅主节点执行),但这种方式可靠性较低,因为集群主节点可能发生切换。

另外,Artifactory 7.x及以上版本中,官方更推荐使用内置任务调度框架替代传统定时插件,它原生支持HA集群下的单节点执行,无需手动处理锁机制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 08:59:54