jenkins清理僵尸任务和排队任务

2023-12-13 03:29:17

步骤

进入 Manage Jenkins系统管理 然后点击 Script Console , 然后根据自己需求选择性执行后面的脚本

查看所有进程

Thread.getAllStackTraces().keySet().each() {
  t -> println("name:"+t.getName())
}

例如:

name:Thread-90
name:Scheduler-174573182-1
name:Thread-116
name:Thread-110
name:Thread-83
name:org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution [#52]
name:SCMTrigger [#10]

停止特定进程

Thread.getAllStackTraces().keySet().each() {
  t -> if (t.getName()=="刚才查出来的某条进程名字" ) {   t.interrupt();  }
}

删掉所有进程

Thread.getAllStackTraces().keySet().each() {
  t ->   t.interrupt(); 
}

清掉所有排队任务Build Queue

Jenkins.instance.queue.clear()

取消某个指定job

import hudson.model.*
 
def q = Jenkins.instance.queue
 
q.items.findAll { it.task.name.startsWith('JobName') }.each { q.cancel(it.task) }

参考

1. [jenkins]僵尸任务&排队任务清理
2. 终止Jenkins队列中某Job的所有排队任务
3. Jenkins: remove old builds with command line

文章来源:https://blog.csdn.net/qq_26545503/article/details/134802554
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。