diff options
Diffstat (limited to 'FS/bin/freeside-queued')
-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', |