[LON-CAPA-cvs] cvs: loncom(version_2_10_X) /lonnet/perl lonnet.pm
raeburn
raeburn at source.lon-capa.org
Wed Sep 28 11:31:06 EDT 2011
raeburn Wed Sep 28 15:31:06 2011 EDT
Modified files: (Branch: version_2_10_X)
/loncom/lonnet/perl lonnet.pm
Log:
- Backport 1.1115, 1.1116, 1.1119.
Index: loncom/lonnet/perl/lonnet.pm
diff -u loncom/lonnet/perl/lonnet.pm:1.1056.4.30 loncom/lonnet/perl/lonnet.pm:1.1056.4.31
--- loncom/lonnet/perl/lonnet.pm:1.1056.4.30 Thu Sep 15 21:37:30 2011
+++ loncom/lonnet/perl/lonnet.pm Wed Sep 28 15:31:05 2011
@@ -1,7 +1,7 @@
# The LearningOnline Network
# TCP networking package
#
-# $Id: lonnet.pm,v 1.1056.4.30 2011/09/15 21:37:30 raeburn Exp $
+# $Id: lonnet.pm,v 1.1056.4.31 2011/09/28 15:31:05 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -877,20 +877,36 @@
# --------- determine least loaded server in a user's domain which allows login
sub choose_server {
- my ($udom) = @_;
+ my ($udom,$checkloginvia) = @_;
my %domconfhash = &Apache::loncommon::get_domainconf($udom);
my %servers = &get_servers($udom);
my $lowest_load = 30000;
- my ($login_host,$hostname);
+ my ($login_host,$hostname,$portal_path);
foreach my $lonhost (keys(%servers)) {
- my $loginvia = $domconfhash{$udom.'.login.loginvia_'.$lonhost};
- if ($loginvia eq '') {
+ my $loginvia;
+ if ($checkloginvia) {
+ $loginvia = $domconfhash{$udom.'.login.loginvia_'.$lonhost};
+ if ($loginvia) {
+ my ($server,$path) = split(/:/,$loginvia);
+ ($login_host, $lowest_load) =
+ &compare_server_load($lonhost, $login_host, $lowest_load);
+ if ($login_host eq $server) {
+ $portal_path = $path;
+ }
+ } else {
+ ($login_host, $lowest_load) =
+ &compare_server_load($lonhost, $login_host, $lowest_load);
+ if ($login_host eq $lonhost) {
+ $portal_path = '';
+ }
+ }
+ } else {
($login_host, $lowest_load) =
- &compare_server_load($lonhost, $login_host, $lowest_load);
+ &compare_server_load($lonhost, $login_host, $lowest_load);
}
}
if ($login_host ne '') {
- $hostname = $servers{$login_host};
+ $hostname = &hostname($login_host);
}
return ($login_host,$hostname);
}
@@ -11421,11 +11437,11 @@
=head2 Logging Routines
-=over 4
-
These routines allow one to make log messages in the lonnet.log and
lonnet.perm logfiles.
+=over 4
+
=item *
logtouch() : make sure the logfile, lonnet.log, exists
More information about the LON-CAPA-cvs
mailing list