[LON-CAPA-cvs] cvs: loncom(version_1_2_X) /lonnet/perl lonnet.pm
albertel
lon-capa-cvs@mail.lon-capa.org
Fri, 24 Sep 2004 15:51:11 -0000
albertel Fri Sep 24 11:51:11 2004 EDT
Modified files: (Branch: version_1_2_X)
/loncom/lonnet/perl lonnet.pm
Log:
- backport 1.547
Index: loncom/lonnet/perl/lonnet.pm
diff -u loncom/lonnet/perl/lonnet.pm:1.523.2.6 loncom/lonnet/perl/lonnet.pm:1.523.2.7
--- loncom/lonnet/perl/lonnet.pm:1.523.2.6 Mon Sep 20 17:10:00 2004
+++ loncom/lonnet/perl/lonnet.pm Fri Sep 24 11:51:11 2004
@@ -1,7 +1,7 @@
# The LearningOnline Network
# TCP networking package
#
-# $Id: lonnet.pm,v 1.523.2.6 2004/09/20 21:10:00 albertel Exp $
+# $Id: lonnet.pm,v 1.523.2.7 2004/09/24 15:51:11 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -3132,8 +3132,10 @@
sub fetch_enrollment_query {
my ($context,$affiliatesref,$replyref,$dom,$cnum) = @_;
my $homeserver;
+ my $maxtries = 1;
if ($context eq 'automated') {
$homeserver = $perlvar{'lonHostID'};
+ $maxtries = 10; # will wait for up to 2000s for retrieval of classlist data before timeout
} else {
$homeserver = &homeserver($cnum,$dom);
}
@@ -3148,6 +3150,16 @@
my $queryid=&reply("querysend:".$query.':'.$dom.':'.$ENV{'user.name'}.':'.$cmd,$homeserver);
unless ($queryid=~/^\Q$host\E\_/) { return 'error: '.$queryid; }
my $reply = &get_query_reply($queryid);
+ my $tries = 1;
+ while (($reply=~/^timeout/) && ($tries < $maxtries)) {
+ $reply = &get_query_reply($queryid);
+ $tries++;
+ }
+ if ( ($reply =~/^timeout/) || ($reply =~/^error/) ) {
+ &logthis('fetch_enrollment_query error: '.$reply.' for '.$dom.' '.
+ $ENV{'user.name'}.' for '.$queryid.' context: '.$context.' '.
+ $cnum.' maxtries: '.$maxtries.' tries: '.$tries);
+ }
unless ( ($reply =~/^timeout/) || ($reply =~/^error/) ) {
my @responses = split/:/,$reply;
if ($homeserver eq $perlvar{'lonHostID'}) {