testmode = property(lambda s: s.data.testmode, set_testmode)
+ # Jobs
+
+ @property
+ def jobs(self):
+ jobs = self.backend.jobs._get_jobs("""
+ SELECT
+ jobs.*
+ FROM
+ jobs
+ WHERE
+ time_started IS NOT NULL
+ AND
+ time_finished IS NULL
+ AND
+ builder_id = %s
+ ORDER BY
+ time_started""",
+ self.id,
+ )
+
+ return list(jobs)
+
+ # Max Jobs
+
+ def get_max_jobs(self):
+ return self.data.max_jobs
+
def set_max_jobs(self, value):
self._set_attribute("max_jobs", value)
- max_jobs = property(lambda s: s.data.max_jobs, set_max_jobs)
+ max_jobs = property(get_max_jobs, set_max_jobs)
@property
def name(self):
return "online"
- @lazy_property
- def active_jobs(self):
- jobs = self.backend.jobs._get_jobs("""
- SELECT
- jobs.*
- FROM
- jobs
- WHERE
- time_started IS NOT NULL
- AND
- time_finished IS NULL
- AND
- builder_id = %s
- ORDER BY
- time_started""",
- self.id,
- )
-
- return list(jobs)
-
def get_history(self, *args, **kwargs):
kwargs["builder"] = self
return False
# Does this builder have reached its job limit?
- if len(self.active_jobs) >= self.max_jobs:
+ if len(self.jobs) >= self.max_jobs:
return False
# Looks like we are ready
<div class="cell large-4 text-center">
<h1>
- {{ len(builder.active_jobs) }}
+ {{ len(builder.jobs) }}
<small>/ {{ builder.max_jobs }}</small>
</h1>
<h5>{{ _("Jobs") }}</h5>
<!-- XXX add some realtime graph -->
- {% if builder.active_jobs %}
+ {% if builder.jobs %}
<h5>{{ _("Running Jobs") }}</h5>
- {% module JobsList(builder.active_jobs) %}
+ {% module JobsList(builder.jobs) %}
{% end %}
{% if log %}