gpt4 book ai didi

groovy - Jenkins作业运行系统Groovy脚本如何响应用户kill

转载 作者:行者123 更新时间:2023-12-02 00:04:46 24 4
gpt4 key购买 nike

我有一个长时间运行的 System Groovy 脚本,可以启动数以万计的其他构建。为了不让构建队列过长而导致 UI 无法使用,它会监控构建队列的长度。如果构建队列长于给定阈值,它将不会启动任何新构建并休眠一分钟。

问题是,此脚本不响应用户终止操作。当用户点击 UI 上的“kill this build”按钮时,没有任何反应。我想知道是否有一种方法可以让系统 Groovy 脚本检查是否应该终止当前构建,从而退出 sleep 和等待循环?

我试图监控 Executor.shouldRun(),但它并没有被用户的 kill 操作改变。

最佳答案

现在刚刚处理它,这是我的发现:

作业被 Executor 中的 Thread.interrupt() 方法取消对象和评估的 groovy 不知道它。我已经通过等待 Executor 解决了它从评估的脚本。 Executor可以从绑定(bind)的 build 参数中检索。

Executor executor = getBinding().getVariable('build’).getExecutor()
synchronized (executor){
executor.wait(timeTowait)
}

关于groovy - Jenkins作业运行系统Groovy脚本如何响应用户kill,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19070055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com