Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.306 and 1.310

version 1.306, 2002/12/05 22:59:37 version 1.310, 2002/12/06 12:55:44
Line 80  use vars Line 80  use vars
 qw(%perlvar %hostname %homecache %badServerCache %hostip %iphost %spareid %hostdom   qw(%perlvar %hostname %homecache %badServerCache %hostip %iphost %spareid %hostdom 
    %libserv %pr %prp %metacache %packagetab %titlecache      %libserv %pr %prp %metacache %packagetab %titlecache 
    %courselogs %accesshash $processmarker $dumpcount      %courselogs %accesshash $processmarker $dumpcount 
    %coursedombuf %coursehombuf %courseresdatacache %domaindescription);     %coursedombuf %coursehombuf %courseresdatacache 
      %domaindescription);
 use IO::Socket;  use IO::Socket;
 use GDBM_File;  use GDBM_File;
 use Apache::Constants qw(:common :http);  use Apache::Constants qw(:common :http);
Line 142  sub reply { Line 143  sub reply {
     unless (defined($hostname{$server})) { return 'no_such_host'; }      unless (defined($hostname{$server})) { return 'no_such_host'; }
     my $answer=subreply($cmd,$server);      my $answer=subreply($cmd,$server);
     if ($answer eq 'con_lost') {      if ($answer eq 'con_lost') {
        #sleep 5;          sleep 5; 
        #$answer=subreply($cmd,$server);         $answer=subreply($cmd,$server);
        #if ($answer eq 'con_lost') {         #if ($answer eq 'con_lost') {
  #   &logthis("Second attempt con_lost on $server");   #   &logthis("Second attempt con_lost on $server");
         #   my $peerfile="$perlvar{'lonSockDir'}/$server";          #   my $peerfile="$perlvar{'lonSockDir'}/$server";
Line 202  sub critical { Line 203  sub critical {
                " Critical message to unknown server ($server)</font>");                 " Critical message to unknown server ($server)</font>");
         return 'no_such_host';          return 'no_such_host';
     }      }
     sleep 2;  
     my $answer=reply($cmd,$server);      my $answer=reply($cmd,$server);
     if ($answer eq 'con_lost') {      if ($answer eq 'con_lost') {
         my $pingreply=reply('ping',$server);          my $pingreply=reply('ping',$server);
Line 2848  sub EXT { Line 2848  sub EXT {
     my $courselevelm=$courseid.'.'.$mapparm;      my $courselevelm=$courseid.'.'.$mapparm;
   
 # ----------------------------------------------------------- first, check user  # ----------------------------------------------------------- first, check user
     my %resourcedata=&get('resourcedata',      #most student don't have any data set, check if there is some data
   [$courselevelr,$courselevelm,$courselevel],              #every thirty minutes
  $udom,$uname);      if (!
     my ($tmp)=keys(%resourcedata);   (exists($ENV{'cache.studentresdata'})
     &Apache::lonnet::logthis("Returned $tmp: ".join(':',keys(%resourcedata)));      && (($ENV{'cache.studentresdata'}+1800) > time))) {
     if (($tmp!~/^error\:/) && ($tmp!~/^con_lost/)) {   my %resourcedata=&get('resourcedata',
         [$courselevelr,$courselevelm,$courselevel],
  if ($resourcedata{$courselevelr}) {        $udom,$uname);
     return $resourcedata{$courselevelr}; }   my ($tmp)=keys(%resourcedata);
  if ($resourcedata{$courselevelm}) {   if (($tmp!~/^error\:/) && ($tmp!~/^con_lost/)) {
     return $resourcedata{$courselevelm}; }      if ($resourcedata{$courselevelr}) {
  if ($resourcedata{$courselevel}) {   return $resourcedata{$courselevelr}; }
     return $resourcedata{$courselevel}; }      if ($resourcedata{$courselevelm}) {
     } else {   return $resourcedata{$courselevelm}; }
  if ($tmp!~/No such file/) {      if ($resourcedata{$courselevel}) {
     &logthis("<font color=blue>WARNING:".   return $resourcedata{$courselevel}; }
      " Trying to get resource data for ".   } else {
      $uname." at ".$udom.": ".      if ($tmp!~/No such file/) {
      $tmp."</font>");   &logthis("<font color=blue>WARNING:".
  } elsif ($tmp =~ /^(con_lost|no_such_host)/) {   " Trying to get resource data for ".
   return $tmp;   $uname." at ".$udom.": ".
    $tmp."</font>");
       } elsif ($tmp=~/error:No such file/) {
    $ENV{'cache.studentresdata'}=time;
    &appenv(('cache.studentresdata'=>
    $ENV{'cache.studentresdata'}));
       } elsif ($tmp =~ /^(con_lost|no_such_host)/) {
    return $tmp;
       }
  }   }
     }      }
   

Removed from v.1.306  
changed lines
  Added in v.1.310


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>