Diff for /loncom/lonsql between versions 1.3 and 1.9

version 1.3, 2000/07/02 04:01:56 version 1.9, 2001/03/22 17:23:19
Line 1 Line 1
 #!/usr/bin/perl  #!/usr/bin/perl
 # lonsql-based on the preforker:harsha jagasia:date:5/10/00  # lonsql-based on the preforker:harsha jagasia:date:5/10/00
   # 7/25 Gerd Kortemeyer
   # many different dates Scott Harrison
   # 03/22/2001 Scott Harrison
 use IO::Socket;  use IO::Socket;
 use Symbol;  use Symbol;
 use POSIX;  use POSIX;
Line 11  use Fcntl; Line 13  use Fcntl;
 use Tie::RefHash;  use Tie::RefHash;
 use DBI;  use DBI;
   
   my @metalist;
   # ----------------- Code to enable 'find' subroutine listing of the .meta files
   require "find.pl";
   sub wanted {
       (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
       -f _ &&
       /^.*\.meta$/ &&
       push(@metalist,"$dir/$_");
   }
   
   
 $childmaxattempts=10;  $childmaxattempts=10;
 $run =0;#running counter to generate the query-id  $run =0;#running counter to generate the query-id
Line 27  while ($configline=<CONFIG>) { Line 39  while ($configline=<CONFIG>) {
 }  }
 close(CONFIG);  close(CONFIG);
   
   # --------------------------------------------- Check if other instance running
   
   my $pidfile="$perlvar{'lonDaemons'}/logs/lonsql.pid";
   
   if (-e $pidfile) {
      my $lfh=IO::File->new("$pidfile");
      my $pide=<$lfh>;
      chomp($pide);
      if (kill 0 => $pide) { die "already running"; }
   }
   
 # ------------------------------------------------------------- Read hosts file  # ------------------------------------------------------------- Read hosts file
 $PREFORK=4; # number of children to maintain, at least four spare  $PREFORK=4; # number of children to maintain, at least four spare
   
Line 168  sub make_new_child { Line 191  sub make_new_child {
         #open database handle          #open database handle
  # making dbh global to avoid garbage collector   # making dbh global to avoid garbage collector
  unless (   unless (
  $dbh = DBI->connect("DBI:mysql:loncapa","www","newmysql",{ RaiseError =>0,PrintError=>0})   $dbh = DBI->connect("DBI:mysql:loncapa","www","123",{ RaiseError =>0,PrintError=>0})
  ) {    ) { 
             my $st=120+int(rand(240));              my $st=120+int(rand(240));
     &logthis("<font color=blue>WARNING: Couldn't connect to database  ($st secs): $@</font>");      &logthis("<font color=blue>WARNING: Couldn't connect to database  ($st secs): $@</font>");
Line 189  sub make_new_child { Line 212  sub make_new_child {
     my $userinput = <$client>;      my $userinput = <$client>;
     chomp($userinput);      chomp($userinput);
                   
     my ($conserver,$querytmp)=split(/&/,$userinput);      my ($conserver,$querytmp,$customtmp)=split(/&/,$userinput);
     my $query=unescape($querytmp);      my $query=unescape($querytmp);
       my $custom=unescape($customtmp);
   
             #send query id which is pid_unixdatetime_runningcounter              #send query id which is pid_unixdatetime_runningcounter
     $queryid = $thisserver;      $queryid = $thisserver;
Line 212  sub make_new_child { Line 236  sub make_new_child {
  my @r2; map {my $a=$_; my @b=map {escape($_)} @$a; push @r2,join(",", @b)} (@$r1);   my @r2; map {my $a=$_; my @b=map {escape($_)} @$a; push @r2,join(",", @b)} (@$r1);
  $result=join("&",@r2) . "\n";   $result=join("&",@r2) . "\n";
     }      }
   
       # do custom metadata searching here and build into result
       if ($custom) {
    &logthis("am going to do custom query for $custom");
    @metalist=(); pop @metalist;
    &find("$perlvar{'lonDocRoot'}/res");
    &logthis("FILELIST:" . join(":::",@metalist));
       }
       # reply with result
             &reply("queryreply:$queryid:$result",$conserver);              &reply("queryreply:$queryid:$result",$conserver);
   
         }          }

Removed from v.1.3  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.