--- loncom/lonnet/perl/lonnet.pm 2002/09/16 20:09:47 1.283 +++ loncom/lonnet/perl/lonnet.pm 2002/09/17 21:19:19 1.285 @@ -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.285 2002/09/17 21:19:19 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -358,12 +358,13 @@ sub overloaderror { my $loadfile=Apache::File->new('/proc/loadavg'); $loadavg=<$loadfile>; $loadavg =~ s/\s.*//g; + $loadavg = 100*$loadavg/$perlvar{'lonLoadLim'}; } else { $loadavg=&reply('load',$checkserver); } - my $overload=$loadavg-$perlvar{'lonLoadLim'}; + my $overload=$loadavg-100; if ($overload>0) { - $r->err_headers_out->{'Retry-After'}=$overload*30; + $r->err_headers_out->{'Retry-After'}=$overload; $r->log_error('Overload of '.$overload.' on '.$checkserver); return 413; } @@ -373,9 +374,10 @@ sub overloaderror { # ------------------------------ 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 +3331,7 @@ BEGIN { while (my $configline=<$config>) { chomp($configline); - if (($configline) && ($configline ne $perlvar{'lonHostID'})) { + if ($configline) { $spareid{$configline}=1; } }