X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=dsl%2Fkernel-lttng-modules.seed.groovy;fp=dsl%2Fkernel-lttng-modules.seed.groovy;h=9745224828faddd86b091d0a7772c9b06c14ce0f;hb=1fc68d3f50a0baccf0a5ef044485016209c6f087;hp=86bf76d4e41fe37c78979ea725ad218d0b5e6c61;hpb=5254a1ac01da7ba4cc04cd156f14fe560b9310fb;p=lttng-ci.git diff --git a/dsl/kernel-lttng-modules.seed.groovy b/dsl/kernel-lttng-modules.seed.groovy index 86bf76d..9745224 100644 --- a/dsl/kernel-lttng-modules.seed.groovy +++ b/dsl/kernel-lttng-modules.seed.groovy @@ -261,6 +261,7 @@ def fail = false def jobStartWith = "dsl-kernel-" def toBuild = [] def counter = 0 +def limitQueue = 4 def anotherBuild jobs.each { job -> @@ -289,11 +290,14 @@ hudson.model.Hudson.instance.nodes.each { node -> println "Nb of live kernel enabled build node "+ kernelEnabledNode def ongoingBuild = [] -def q = jenkins.model.Jenkins.getInstance().getQueue() +def q = jenkins.model.Jenkins.getInstance().getQueue() while (toBuild.size() != 0) { - if(ongoingBuild.size() <= (kernelEnabledNode.intdiv(2))) { + // Throttle the build with both the number of current parent task and queued + // task. + def queuedTask = q.getItems().findAll { it.task.name.startsWith(jobStartWith) } + if ((ongoingBuild.size() <= kernelEnabledNode) && (queuedTask.size() < limitQueue)) { def job = toBuild.pop() ongoingBuild.push(job.scheduleBuild2(0)) println "\\t trigering" + HyperlinkNote.encodeTo('/' + job.url, job.fullDisplayName)