From: Michael Tremer Date: Sat, 21 Oct 2017 18:11:25 +0000 (+0100) Subject: builds: Polulate cache for jobs X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e67c036ec4f39549be3ab6315fda608a2e2dc3e6;p=pbs.git builds: Polulate cache for jobs Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/builds.py b/src/buildservice/builds.py index 8da51062..d7cbf290 100644 --- a/src/buildservice/builds.py +++ b/src/buildservice/builds.py @@ -739,17 +739,25 @@ class Build(base.DataObject): def critical_path(self): return self.pkg.critical_path + def _get_jobs(self, query, *args): + ret = [] + for job in self.backend.jobs._get_jobs(query, *args): + job.build = self + ret.append(job) + + return ret + @lazy_property def jobs(self): """ Get a list of all build jobs that are in this build. """ - return self.backend.jobs._get_jobs("SELECT * FROM jobs \ - WHERE build_id = %s AND test IS FALSE AND deleted_at IS NULL", self.id) + return self._get_jobs("SELECT * FROM jobs \ + WHERE build_id = %s AND test IS FALSE AND deleted_at IS NULL", self.id) @property def test_jobs(self): - return self.backend.jobs._get_jobs("SELECT * FROM jobs \ + return self._get_jobs("SELECT * FROM jobs \ WHERE build_id = %s AND test IS TRUE AND deleted_at IS NULL", self.id) @property