Endpoint that blocks until there are running builds

This commit is contained in:
Laszlo Fogas 2019-06-28 08:42:06 +02:00
parent d39dd6f2ff
commit 8bb5770636
2 changed files with 14 additions and 0 deletions

View file

@ -158,6 +158,10 @@ func Load(mux *httptreemux.ContextMux, middleware ...gin.HandlerFunc) http.Handl
session.MustAdmin(),
server.ResumeQueue,
)
queue.GET("/norunningbuilds",
session.MustAdmin(),
server.BlockTilQueueHasRunningItem,
)
}
auth := e.Group("/authorize")

View file

@ -62,6 +62,16 @@ func ResumeQueue(c *gin.Context) {
c.Status(http.StatusOK)
}
func BlockTilQueueHasRunningItem(c *gin.Context) {
for {
info := Config.Services.Queue.Info(c)
if info.Stats.Running == 0 {
break
}
}
c.Status(http.StatusOK)
}
func PostHook(c *gin.Context) {
remote_ := remote.FromContext(c)