[LON-CAPA-cvs] cvs: loncom(version_2_1_X) /homework bridgetask.pm

albertel lon-capa-cvs@mail.lon-capa.org
Mon, 10 Apr 2006 07:21:16 -0000


albertel		Mon Apr 10 03:21:16 2006 EDT

  Modified files:              (Branch: version_2_1_X)
    /loncom/homework	bridgetask.pm 
  Log:
  - address BUG#4725, more strongly favor the head of the queue in shorter queu cases
  
  
Index: loncom/homework/bridgetask.pm
diff -u loncom/homework/bridgetask.pm:1.128.2.6 loncom/homework/bridgetask.pm:1.128.2.7
--- loncom/homework/bridgetask.pm:1.128.2.6	Fri Mar 31 15:31:38 2006
+++ loncom/homework/bridgetask.pm	Mon Apr 10 03:21:14 2006
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA 
 # definition of tags that give a structure to a document
 #
-# $Id: bridgetask.pm,v 1.128.2.6 2006/03/31 20:31:38 albertel Exp $
+# $Id: bridgetask.pm,v 1.128.2.7 2006/04/10 07:21:14 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1315,8 +1315,13 @@
     if (@possible) {
         # sort entries in order by slot end time
 	@possible = sort { $a->[1] <=> $b->[1] } @possible;
-	# pick one of the first ten entries
-	my $max=($#possible < 10) ? $#possible : 10;
+	# pick one of the entries in the top 10% in small queues and one
+	# 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 undef;