groovy - teoria - ¿Cómo puedo saber cuánto tiempo ha estado un trabajo de Jenkins en la cola de espera una vez que el trabajo está terminado?
software para teoria de colas (1)
Para las estadísticas, quiero ver cuánto tiempo está el trabajo en la cola de espera, por lo tanto, puedo ajustar el sistema para que el trabajo se ejecute a tiempo.
Si el trabajo está en cola, es posible encontrarlo en la lista de espera en la página principal. ¿Cómo puedo saber cuánto tiempo ha estado un trabajo de Jenkins en la lista de espera?
O el http://<jenkins_url>/queue/api/json?pretty=true
¿Es posible verificar en algún lugar para obtener "Tiempo esperando en la cola" para el trabajo específico una vez que el trabajo haya finalizado?
Sería bueno si se puede obtener en la API pública de jenkins.
// recibí respuesta de un colega
Se puede lograr instalando Jenkins Metrics Plugin , después de que esté instalado, en la página de resultados de compilación, verá
API REST de Jenkins : Entonces puede obtener tiempo de espera en la cola de http: // localhost: 8080 / job / demo / 1 / api / json? Pretty = true & depth = 2 . queuingDurationMillis
es la información que quería.
"actions" : [
{
"queuingDurationMillis" : 33,
"totalDurationMillis" : 3067
}
],
Script Groovy : También podemos obtener estos datos en groovy a través de datos internos, verifique el código a continuación en la consola de Jenkins Script http: // localhost: 8080 / script
job = hudson.model.Hudson.instance.getItem("demo")
build = job.getLastBuild()
action = build.getAction(jenkins.metrics.impl.TimeInQueueAction.class)
println action.getQueuingDurationMillis()
Puede ver la demostración usando la ventana acoplable ejecutando a continuación y abrir en el navegador para el trabajo de demo
docker run -it -p 8080:8080 larrycai/jenkins-metrics