version 1.136, 2006/03/31 20:30:30
|
version 1.137, 2006/04/10 07:30:54
|
Line 1319 sub pick_from_queue_data {
|
Line 1319 sub pick_from_queue_data {
|
if (@possible) { |
if (@possible) { |
# sort entries in order by slot end time |
# sort entries in order by slot end time |
@possible = sort { $a->[1] <=> $b->[1] } @possible; |
@possible = sort { $a->[1] <=> $b->[1] } @possible; |
# pick one of the first ten entries |
# pick one of the entries in the top 10% in small queues and one |
my $max=($#possible < 10) ? $#possible : 10; |
# of the first ten entries in large queues |
|
my $ten_percent = int($#possible * 0.1); |
|
if ($ten_percent < 1 ) { $ten_percent = 1; } |
|
if ($ten_percent > 10) { $ten_percent = 10; } |
|
my $max=($#possible < $ten_percent) ? $#possible : $ten_percent; |
|
|
return $possible[int(rand($max))][0]; |
return $possible[int(rand($max))][0]; |
} |
} |
return undef; |
return undef; |