]> git.ipfire.org Git - pbs.git/commitdiff
builders: Add a simple function to check whether a builder is idle
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 26 Apr 2023 14:43:41 +0000 (14:43 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 26 Apr 2023 14:43:41 +0000 (14:43 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/builders.py

index 0503d069bce751f1ed33cd3b1b4a00642f5864c4..a4db468c84b6684b2b1f4e1d45d79682b9ba09ec 100644 (file)
@@ -120,7 +120,7 @@ class Builders(base.Object):
 
                # Find all builders that are no longer needed and can be shut down
                builders_to_be_shut_down = [
-                       builder for builder in builders if not queue[builder] and not len(builder.jobs)
+                       builder for builder in builders if not queue[builder] and builder.is_idle()
                ]
 
                # Start all builders that have been allocated at least one job
@@ -213,6 +213,15 @@ class Builder(base.DataObject):
 
                return False
 
+       def is_idle(self):
+               """
+                       Return True if the builder has no active jobs
+               """
+               if self.jobs:
+                       return False
+
+               return True
+
        def log_stats(self, cpu_model=None, cpu_count=None, cpu_arch=None, pakfire_version=None,
                        os_name=None, cpu_user=None, cpu_nice=None, cpu_system=None, cpu_idle=None,
                        cpu_iowait=None, cpu_irq=None, cpu_softirq=None, cpu_steal=None, cpu_guest=None,