[LON-CAPA-cvs] cvs: loncom /auth lonlogin.pm /lonnet/perl lonnet.pm

matthew lon-capa-cvs@mail.lon-capa.org
Tue, 17 Sep 2002 19:45:11 -0000


matthew		Tue Sep 17 15:45:11 2002 EDT

  Modified files:              
    /loncom/auth	lonlogin.pm 
    /loncom/lonnet/perl	lonnet.pm 
  Log:
  Changes to fix handling of spare.tab.  Firstly, do not omit self from
  spare.tab.  Secondly, compare load averages to self (initially) when 
  determining which server to offload onto.
  
  
Index: loncom/auth/lonlogin.pm
diff -u loncom/auth/lonlogin.pm:1.21 loncom/auth/lonlogin.pm:1.22
--- loncom/auth/lonlogin.pm:1.21	Wed Aug 28 15:42:48 2002
+++ loncom/auth/lonlogin.pm	Tue Sep 17 15:45:11 2002
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Login Screen
 #
-# $Id: lonlogin.pm,v 1.21 2002/08/28 19:42:48 www Exp $
+# $Id: lonlogin.pm,v 1.22 2002/09/17 19:45:11 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -77,8 +77,8 @@
     my $otherserver='http://'.$ENV{'SERVER_NAME'};
     my $firsturl=$ENV{'request.firsturl'};
 # ---------------------------------------- Are we access server and overloaded?
-    if (($role eq 'access') && ($loadpercent>100.0)) {
-        $otherserver=Apache::lonnet::spareserver();
+    if (($loadpercent>100.0)) {
+        $otherserver=Apache::lonnet::spareserver($loadpercent);
     }
 
 # -------------------------------------------------------- Set login parameters
Index: loncom/lonnet/perl/lonnet.pm
diff -u loncom/lonnet/perl/lonnet.pm:1.283 loncom/lonnet/perl/lonnet.pm:1.284
--- loncom/lonnet/perl/lonnet.pm:1.283	Mon Sep 16 16:09:47 2002
+++ loncom/lonnet/perl/lonnet.pm	Tue Sep 17 15:45:11 2002
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # TCP networking package
 #
-# $Id: lonnet.pm,v 1.283 2002/09/16 20:09:47 www Exp $
+# $Id: lonnet.pm,v 1.284 2002/09/17 19:45:11 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -373,9 +373,10 @@
 # ------------------------------ Find server with least workload from spare.tab
 
 sub spareserver {
+    my $loadpercent = shift;
     my $tryserver;
     my $spareserver='';
-    my $lowestserver=100;
+    my $lowestserver=$loadpercent; 
     foreach $tryserver (keys %spareid) {
        my $answer=reply('load',$tryserver);
        if (($answer =~ /\d/) && ($answer<$lowestserver)) {
@@ -3329,7 +3330,7 @@
 
     while (my $configline=<$config>) {
        chomp($configline);
-       if (($configline) && ($configline ne $perlvar{'lonHostID'})) {
+       if ($configline) {
           $spareid{$configline}=1;
        }
     }