summaryrefslogtreecommitdiff
path: root/FS/bin
diff options
context:
space:
mode:
authorivan <ivan>2009-04-17 19:50:11 +0000
committerivan <ivan>2009-04-17 19:50:11 +0000
commit4ee28b411fa819a420926b8a6e60be043fdb1d2e (patch)
tree82f6e390fe6044f33b37899367d41a76ee63b56b /FS/bin
parent8a5bf08dfcc3e44ac3c5e8015ccce494d991025e (diff)
add priority to job queue so billing jobs don't don't drown out provisioning jobs
Diffstat (limited to 'FS/bin')
-rw-r--r--FS/bin/freeside-queued9
1 files changed, 6 insertions, 3 deletions
diff --git a/FS/bin/freeside-queued b/FS/bin/freeside-queued
index d4f09c18d..8c07638b3 100644
--- a/FS/bin/freeside-queued
+++ b/FS/bin/freeside-queued
@@ -84,9 +84,12 @@ while (1) {
my $nodepend = 'AND 0 = ( SELECT COUNT(*) FROM queue_depend'.
' WHERE queue_depend.jobnum = queue.jobnum )';
- my $order_by = "ORDER BY jobnum ". ( driver_name eq 'mysql'
- ? 'LIMIT 1 FOR UPDATE'
- : 'FOR UPDATE LIMIT 1' );
+ #anything with a priority goes after stuff without one
+ my $order_by = ' ORDER BY COALESCE(priority,0) ASC, jobnum ASC ';
+
+ $order_by .= ( driver_name eq 'mysql'
+ ? ' LIMIT 1 FOR UPDATE '
+ : ' FOR UPDATE LIMIT 1 ' );
my $job = qsearchs({
'table' => 'queue',