]> git.ipfire.org Git - pbs.git/commitdiff
hub: End queue connection when client wants to
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 1 Nov 2017 14:35:32 +0000 (14:35 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 1 Nov 2017 14:35:32 +0000 (14:35 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/hub/handlers.py

index 8b9222428927dc75811c77c1a3faa37218b1ed03..a4bd8164c8e5be289263e15f292f60829edf4bf8 100644 (file)
@@ -521,7 +521,7 @@ class BuildersJobsQueueHandler(BuildersBaseHandler):
 
                        # Got no job, wait and try again.
                        if not job:
-                               return self.add_timeout(10, self.callback)
+                               return self.add_timeout(self.heartbeat, self.callback)
 
                        # We got a job!
                        job.start(builder=self.builder)
@@ -538,6 +538,18 @@ class BuildersJobsQueueHandler(BuildersBaseHandler):
                        # Send build information to the builder.
                        self.finish(ret)
 
+       @property
+       def heartbeat(self):
+               return 15 # 15 seconds
+
+       @property
+       def max_runtime(self):
+               timeout = self.get_argument_int("timeout", None)
+               if timeout:
+                       return timeout - self.heartbeat
+
+               return 300 # 5 min
+
 
 class BuildersJobsStateHandler(BuildersBaseHandler):
        @tornado.web.authenticated