[LON-CAPA-dev] Re: [LON-CAPA-cvs] cvs: loncom /lonnet/perl lonnet.pm

Matthew Brian Hall lon-capa-dev@mail.lon-capa.org
Fri, 6 Dec 2002 09:14:05 -0500 (EST)


30 minutes?  Instructors already complain about 5 minutes...

>
> albertel        Thu Dec  5 18:27:46 2002 EDT
>
>   Modified files:
>     /loncom/lonnet/perl    lonnet.pm
>   Log:
>   - if the student doen't even have a resourcedata.db remeber this and don't k
eep trying to get one, this is a big speed win
>
>
> Index: loncom/lonnet/perl/lonnet.pm
> diff -u loncom/lonnet/perl/lonnet.pm:1.307 loncom/lonnet/perl/lonnet.pm:1.308
> --- loncom/lonnet/perl/lonnet.pm:1.307    Thu Dec  5 18:13:54 2002
> +++ loncom/lonnet/perl/lonnet.pm    Thu Dec  5 18:27:46 2002
> @@ -1,7 +1,7 @@
>  # The LearningOnline Network
>  # TCP networking package
>  #
> -# $Id: lonnet.pm,v 1.307 2002/12/05 23:13:54 albertel Exp $
> +# $Id: lonnet.pm,v 1.308 2002/12/05 23:27:46 albertel Exp $
>  #
>  # Copyright Michigan State University Board of Trustees
>  #
> @@ -80,7 +80,8 @@
>  qw(%perlvar %hostname %homecache %badServerCache %hostip %iphost %spareid %ho
stdom
>     %libserv %pr %prp %metacache %packagetab %titlecache
>     %courselogs %accesshash $processmarker $dumpcount
> -   %coursedombuf %coursehombuf %courseresdatacache %domaindescription);
> +   %coursedombuf %coursehombuf %courseresdatacache
> +   %studentresdatacache %domaindescription);
>  use IO::Socket;
>  use GDBM_File;
>  use Apache::Constants qw(:common :http);
> @@ -2848,25 +2849,32 @@
>          my $courselevelm=$courseid.'.'.$mapparm;
>
>  # ----------------------------------------------------------- first, check us
er
> -        my %resourcedata=&get('resourcedata',
> -                  [$courselevelr,$courselevelm,$courselevel],
> -                 $udom,$uname);
> -        my ($tmp)=keys(%resourcedata);
> -        if (($tmp!~/^error\:/) && ($tmp!~/^con_lost/)) {
> -        if ($resourcedata{$courselevelr}) {
> -            return $resourcedata{$courselevelr}; }
> -        if ($resourcedata{$courselevelm}) {
> -            return $resourcedata{$courselevelm}; }
> -        if ($resourcedata{$courselevel}) {
> -            return $resourcedata{$courselevel}; }
> -        } else {
> -        if ($tmp!~/No such file/) {
> -            &logthis("<font color=blue>WARNING:".
> -                 " Trying to get resource data for ".
> -                 $uname." at ".$udom.": ".
> -                 $tmp."</font>");
> -        } elsif ($tmp =~ /^(con_lost|no_such_host)/) {
> -          return $tmp;
> +        #most student don't have any data set, check if there is some data
> +            #every thirty minutes
> +        if (!exists($studentresdatacache{$uname.'_'.$udom})
> +        || $studentresdatacache{$uname.'_'.$udom} > (time+1800)) {
> +        my %resourcedata=&get('resourcedata',
> +                      [$courselevelr,$courselevelm,$courselevel],
> +                      $udom,$uname);
> +        my ($tmp)=keys(%resourcedata);
> +        if (($tmp!~/^error\:/) && ($tmp!~/^con_lost/)) {
> +            if ($resourcedata{$courselevelr}) {
> +            return $resourcedata{$courselevelr}; }
> +            if ($resourcedata{$courselevelm}) {
> +            return $resourcedata{$courselevelm}; }
> +            if ($resourcedata{$courselevel}) {
> +            return $resourcedata{$courselevel}; }
> +        } else {
> +            if ($tmp!~/No such file/) {
> +            &logthis("<font color=blue>WARNING:".
> +                 " Trying to get resource data for ".
> +                 $uname." at ".$udom.": ".
> +                 $tmp."</font>");
> +            } elsif ($tmp=~/error:No such file/) {
> +            $studentresdatacache{$uname.'_'.$udom}=time;
> +            } elsif ($tmp =~ /^(con_lost|no_such_host)/) {
> +            return $tmp;
> +            }
>          }
>          }
>
>
>
> _______________________________________________
> LON-CAPA-cvs mailing list
> LON-CAPA-cvs@mail.lon-capa.org
> http://mail.lon-capa.org/mailman/listinfo/lon-capa-cvs
>


--
------------------------------------------------------------------
Matthew Hall           LON-CAPA developer         hallmat3@msu.edu
123 North Kedzie Hall                    Michigan State University
------------------------------------------------------------------