Skip to content

Commit 19e31e3

Browse files
add priority column to build queue
1 parent 11b587c commit 19e31e3

File tree

3 files changed

+14
-4
lines changed

3 files changed

+14
-4
lines changed

src/db/migrate.rs

+10
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,16 @@ pub fn migrate(version: Option<Version>) -> CratesfyiResult<()> {
169169
"DROP TABLE authors, author_rels, keyword_rels, keywords, owner_rels,
170170
owners, releases, crates, builds, queue, files, config;"
171171
),
172+
migration!(
173+
// version
174+
2,
175+
// description
176+
"Added priority column to build queue",
177+
// upgrade query
178+
"ALTER TABLE queue ADD COLUMN priority INT DEFAULT 0;",
179+
// downgrade query
180+
"ALTER TABLE queue DROP COLUMN priority;"
181+
),
172182
];
173183

174184
for migration in migrations {

src/docbuilder/queue.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ impl DocBuilder {
2020
changes.reverse();
2121

2222
for krate in changes.iter().filter(|k| k.kind != ChangeKind::Yanked) {
23-
conn.execute("INSERT INTO queue (name, version) VALUES ($1, $2)",
23+
conn.execute("INSERT INTO queue (name, version, priority) VALUES ($1, $2, 0)",
2424
&[&krate.name, &krate.version])
2525
.ok();
2626
debug!("{}-{} added into build queue", krate.name, krate.version);
@@ -46,7 +46,7 @@ impl DocBuilder {
4646
for row in &try!(conn.query("SELECT id, name, version
4747
FROM queue
4848
WHERE attempt < 5
49-
ORDER BY id ASC",
49+
ORDER BY priority ASC, attempt ASC, id ASC",
5050
&[])) {
5151
let id: i32 = row.get(0);
5252
let name: String = row.get(1);
@@ -79,7 +79,7 @@ impl DocBuilder {
7979
let query = try!(conn.query("SELECT id, name, version
8080
FROM queue
8181
WHERE attempt < 5
82-
ORDER BY attempt ASC, id ASC
82+
ORDER BY priority ASC, attempt ASC, id ASC
8383
LIMIT 1",
8484
&[]));
8585

src/web/releases.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -565,7 +565,7 @@ pub fn build_queue_handler(req: &mut Request) -> IronResult<Response> {
565565
for krate in &conn.query("SELECT name, version
566566
FROM queue
567567
WHERE attempt < 5
568-
ORDER BY id ASC",
568+
ORDER BY priority ASC, attempt ASC, id ASC",
569569
&[])
570570
.unwrap() {
571571
crates.push((krate.get(0), krate.get(1)));

0 commit comments

Comments
 (0)