[Pkg-debile-commits] [debile-web] 01/01: Sort queued jobs in the same order as debile-master.

Jon Severinsson jonno-guest at moszumanska.debian.org
Sun May 18 05:25:51 UTC 2014


This is an automated email from the git hooks/post-receive script.

jonno-guest pushed a commit to branch master
in repository debile-web.

commit 208f3a31c0985922a0a5ad0587c3430e770e0e6f
Author: Jon Severinsson <jon at severinsson.net>
Date:   Sat May 17 22:10:00 2014 +0200

    Sort queued jobs in the same order as debile-master.
---
 debileweb/blueprints/frontend.py | 25 ++++++++++++++++++-------
 1 file changed, 18 insertions(+), 7 deletions(-)

diff --git a/debileweb/blueprints/frontend.py b/debileweb/blueprints/frontend.py
index 0d02f07..dfee9e5 100644
--- a/debileweb/blueprints/frontend.py
+++ b/debileweb/blueprints/frontend.py
@@ -24,10 +24,11 @@
 from flask import Blueprint, render_template, request, redirect
 from flask.ext.jsonpify import jsonify
 from debian.debian_support import Version
+from sqlalchemy.sql import func, select, asc
 
 from debile.master.utils import Session
-from debile.master.orm import (Person, Builder, Suite, Check,
-                               Group, GroupSuite, Source, Maintainer, Job)
+from debile.master.orm import (Person, Builder, Suite, Check, Group, GroupSuite,
+                               Source, Maintainer, Job, job_dependencies)
 
 from debileweb.blueprints.forms import SearchPackageForm
 from debileweb.blueprints.consts import PREFIXES, ENTRIES_PER_PAGE, ENTRIES_PER_LIST_PAGE
@@ -217,8 +218,18 @@ def sources(search="", prefix="recent", page=0):
                     Job.failed.is_(None)
                 ),
             ).order_by(
-                Source.name.asc(),
-                Source.uploaded_at.desc(),
+                asc(select([func.min(
+                        Job.assigned_count - select([func.count(1)]).where(job_dependencies.c.blocking_job_id == Job.id) +
+                        4 * Suite.name.in_(["staging", "sid", "experimental"]) - 8 * Check.build
+                    )]).where(
+                        (Job.source_id == Source.id) &
+                        ~Job.depedencies.any() &
+                        (Job.dose_report == None) &
+                        (Job.assigned_at == None) &
+                        (Job.finished_at == None) &
+                        Job.failed.is_(None)
+                    )),
+                Source.uploaded_at.asc(),
             )
         elif prefix == "unbuilt":
             desc = "All source packages with unbuilt build jobs."
@@ -307,15 +318,15 @@ def jobs(prefix="recent", page=0):
             )
         elif prefix == "queued":
             desc = "All jobs in the queue."
-            query = session.query(Job).join(Job.source).join(Job.check).filter(
+            query = session.query(Job).join(Job.check).join(Job.source).join(Source.group_suite).join(GroupSuite.suite).filter(
                 Job.dose_report == None,
                 ~Job.depedencies.any(),
                 Job.assigned_at == None,
                 Job.finished_at == None,
                 Job.failed.is_(None),
             ).order_by(
-                Job.assigned_count.asc(),
-                Check.build.desc(),
+                asc(Job.assigned_count - select([func.count(1)]).where(job_dependencies.c.blocking_job_id == Job.id) +
+                    4 * Suite.name.in_(["staging", "sid", "experimental"]) - 8 * Check.build),
                 Source.uploaded_at.asc(),
             )
         elif prefix == "unbuilt":

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-debile/debile-web.git



More information about the Pkg-debile-commits mailing list