[LON-CAPA-cvs] cvs: loncom / lond /lonnet/perl lonnet.pm
albertel
lon-capa-cvs@mail.lon-capa.org
Thu, 08 May 2003 21:35:48 -0000
albertel Thu May 8 17:35:48 2003 EDT
Modified files:
/loncom lond
/loncom/lonnet/perl lonnet.pm
Log:
- more user load balancing, BUG#958
Index: loncom/lond
diff -u loncom/lond:1.127 loncom/lond:1.128
--- loncom/lond:1.127 Thu May 8 17:25:31 2003
+++ loncom/lond Thu May 8 17:35:48 2003
@@ -2,7 +2,7 @@
# The LearningOnline Network
# lond "LON Daemon" Server (port "LOND" 5663)
#
-# $Id: lond,v 1.127 2003/05/08 21:25:31 albertel Exp $
+# $Id: lond,v 1.128 2003/05/08 21:35:48 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -73,7 +73,7 @@
my $status='';
my $lastlog='';
-my $VERSION='$Revision: 1.127 $'; #' stupid emacs
+my $VERSION='$Revision: 1.128 $'; #' stupid emacs
my $remoteVERSION;
my $currenthostid;
my $currentdomainid;
@@ -2071,6 +2071,7 @@
return "version:$VERSION";
}
+#There is a copy of this in lonnet.pm
sub userload {
my $numusers=0;
{
Index: loncom/lonnet/perl/lonnet.pm
diff -u loncom/lonnet/perl/lonnet.pm:1.368 loncom/lonnet/perl/lonnet.pm:1.369
--- loncom/lonnet/perl/lonnet.pm:1.368 Sun May 4 03:38:32 2003
+++ loncom/lonnet/perl/lonnet.pm Thu May 8 17:35:48 2003
@@ -1,7 +1,7 @@
# The LearningOnline Network
# TCP networking package
#
-# $Id: lonnet.pm,v 1.368 2003/05/04 07:38:32 albertel Exp $
+# $Id: lonnet.pm,v 1.369 2003/05/08 21:35:48 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -345,6 +345,29 @@
$fh->close();
}
return 'ok';
+}
+
+# ------------------------------------------ Find out current server userload
+# there is a copy in lond
+sub userload {
+ my $numusers=0;
+ {
+ opendir(LONIDS,$perlvar{'lonIDsDir'});
+ my $filename;
+ my $curtime=time;
+ while ($filename=readdir(LONIDS)) {
+ if ($filename eq '.' || $filename eq '..') {next;}
+ my ($atime)=(stat($perlvar{'lonIDsDir'}.'/'.$filename))[8];
+ if ($curtime-$atime < 3600) { $num_users++; }
+ }
+ closedir(LONIDS);
+ }
+ my $userloadpercent=0;
+ my $maxuserload=$perlvar{'lonUserLoadLim'};
+ if ($maxuserload) {
+ $userloadpercent=100*$num_users/$maxuserload;
+ }
+ return $userloadpercent;
}
# ------------------------------------------ Fight off request when overloaded