version 1.369, 2003/05/08 21:35:48
|
version 1.372, 2003/05/08 22:23:19
|
Line 358 sub userload {
|
Line 358 sub userload {
|
while ($filename=readdir(LONIDS)) { |
while ($filename=readdir(LONIDS)) { |
if ($filename eq '.' || $filename eq '..') {next;} |
if ($filename eq '.' || $filename eq '..') {next;} |
my ($atime)=(stat($perlvar{'lonIDsDir'}.'/'.$filename))[8]; |
my ($atime)=(stat($perlvar{'lonIDsDir'}.'/'.$filename))[8]; |
if ($curtime-$atime < 3600) { $num_users++; } |
if ($curtime-$atime < 3600) { $numusers++; } |
} |
} |
closedir(LONIDS); |
closedir(LONIDS); |
} |
} |
my $userloadpercent=0; |
my $userloadpercent=0; |
my $maxuserload=$perlvar{'lonUserLoadLim'}; |
my $maxuserload=$perlvar{'lonUserLoadLim'}; |
if ($maxuserload) { |
if ($maxuserload) { |
$userloadpercent=100*$num_users/$maxuserload; |
$userloadpercent=100*$numusers/$maxuserload; |
} |
} |
|
$userloadpercent=sprintf("%.2f",$userloadpercent); |
return $userloadpercent; |
return $userloadpercent; |
} |
} |
|
|
Line 396 sub overloaderror {
|
Line 397 sub overloaderror {
|
# ------------------------------ Find server with least workload from spare.tab |
# ------------------------------ Find server with least workload from spare.tab |
|
|
sub spareserver { |
sub spareserver { |
my $loadpercent = shift; |
my ($loadpercent,$userloadpercent) = @_; |
my $tryserver; |
my $tryserver; |
my $spareserver=''; |
my $spareserver=''; |
my $lowestserver=$loadpercent; |
if ($userloadpercent !~ /\d/) { $userloadpercent=0; } |
|
my $lowestserver=$loadpercent > $userloadpercent? |
|
$loadpercent : $userloadpercent; |
foreach $tryserver (keys %spareid) { |
foreach $tryserver (keys %spareid) { |
my $answer=reply('load',$tryserver); |
my $loadans=reply('load',$tryserver); |
|
my $userloadans=reply('userload',$tryserver); |
|
if ($userloadans !~ /\d/) { $userloadans=0; } |
|
my $answer=$loadans > $userloadans? |
|
$loadans : $userloadans; |
if (($answer =~ /\d/) && ($answer<$lowestserver)) { |
if (($answer =~ /\d/) && ($answer<$lowestserver)) { |
$spareserver="http://$hostname{$tryserver}"; |
$spareserver="http://$hostname{$tryserver}"; |
$lowestserver=$answer; |
$lowestserver=$answer; |
} |
} |
} |
} |
return $spareserver; |
return $spareserver; |
} |
} |
|
|