diff options
author | ivan <ivan> | 2009-04-17 19:50:11 +0000 |
---|---|---|
committer | ivan <ivan> | 2009-04-17 19:50:11 +0000 |
commit | 4ee28b411fa819a420926b8a6e60be043fdb1d2e (patch) | |
tree | 82f6e390fe6044f33b37899367d41a76ee63b56b /FS/bin | |
parent | 8a5bf08dfcc3e44ac3c5e8015ccce494d991025e (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-queued | 9 |
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', |