]> git.ipfire.org Git - pbs.git/commitdiff
jobs: Run dispatch only if at least one depcheck was successful
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 28 Apr 2023 10:24:33 +0000 (10:24 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 28 Apr 2023 10:24:33 +0000 (10:24 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/jobs.py

index 44028a1ae32ef239fa88ffef733157af7389edae..da94fe42cb7b6aa57e16d9ec3de7ef3981c5c397 100644 (file)
@@ -100,7 +100,12 @@ class Jobs(base.Object):
                        Performs a dependency check on all given jobs concurrently
                """
                if jobs:
-                       await asyncio.gather(*(job.depcheck() for job in jobs))
+                       results = await asyncio.gather(*(job.depcheck() for job in jobs))
+
+                       # Try to dispatch any jobs afterwards
+                       if any(results):
+                               await self.backend.jobs.queue.dispatch()
+
 
 
 class Queue(base.Object):
@@ -755,6 +760,9 @@ class Job(base.DataObject):
                        # Store the timestamp
                        self._set_attribute_now("depcheck_performed_at")
 
+               # Return the status
+               return self.depcheck_succeeded
+
        @property
        def depcheck_succeeded(self):
                return self.data.depcheck_succeeded