]> git.ipfire.org Git - pbs.git/commitdiff
builders: Fix least busy iterator
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 26 Jan 2025 13:42:10 +0000 (13:42 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 26 Jan 2025 13:42:10 +0000 (13:42 +0000)
This must be an outer join so that we will always get all builds, even
those that don't have a job running.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/builders.py

index f23e5bfe951c0e66f4d671d793c54c707d754a2d..ba8fb2a0f844a0cfccd5ce5969a86decce99fc91 100644 (file)
@@ -228,6 +228,8 @@ class Builders(base.Object):
                                jobs.Job.builder_id == Builder.id,
                        )
                        .where(
+                               Builder.deleted_at == None,
+
                                # Jobs cannot be deleted
                                jobs.Job.deleted_at == None,
 
@@ -246,12 +248,13 @@ class Builders(base.Object):
                        .select(
                                Builder,
                        )
-                       .select_from(
+                       .join(
                                builder_jobs,
+                               builder_jobs.c.builder_id == Builder.id,
+                               isouter=True,
                        )
-                       .join(
-                               Builder,
-                               Builder.id == builder_jobs.c.builder_id,
+                       .where(
+                               Builder.deleted_at == None,
                        )
                        .order_by(
                                (