--- loncom/loncron 2001/09/06 19:28:06 1.24 +++ loncom/loncron 2002/06/08 14:59:04 1.30 @@ -13,10 +13,15 @@ # 12/23 Gerd Kortemeyer # YEAR=2001 # 1/10/2001, 2/12/, 2/26, 3/15, 04/11, 04/21,8/27 Scott Harrison -# 09/04,09/06 Gerd Kortemeyer +# 09/04,09/06,11/26 Gerd Kortemeyer +# YEAR=2002 +# 5/11/2002 Scott Harrison $|=1; +use lib '/home/httpd/lib/perl/'; +use LONCAPA::Configuration; + use IO::File; use IO::Socket; @@ -50,19 +55,13 @@ ENDERROUT # ================================================================ Main Program -# ------------------------------------------------------------ Read access.conf -{ - my $config=IO::File->new("/etc/httpd/conf/access.conf"); - - while (my $configline=<$config>) { - if ($configline =~ /PerlSetVar/) { - my ($dummy,$varname,$varvalue)=split(/\s+/,$configline); - $perlvar{$varname}=$varvalue; - } - } - delete $perlvar{'lonReceipt'}; # remove since sensitive and not needed - delete $perlvar{'lonSqlAccess'}; # remove since sensitive and not needed -} +# --------------------------------- Read loncapa_apache.conf and loncapa.conf +my $perlvarref=LONCAPA::Configuration::read_conf('loncapa_apache.conf', + 'loncapa.conf'); +%perlvar=%{$perlvarref}; +undef $perlvarref; +delete $perlvar{'lonReceipt'}; # remove since sensitive and not needed +delete $perlvar{'lonSqlAccess'}; # remove since sensitive and not needed # --------------------------------------- Make sure that LON-CAPA is configured # I only test for one thing here (lonHostID). This is just a safeguard. @@ -240,6 +239,7 @@ if ($psproc>250) { $notices++; } # --------------------------------------------------------------- clean out tmp print $fh '

Temporary Files

'; $cleaned=0; +$old=0; while ($fname=<$perlvar{'lonDaemons'}/tmp/*>) { my ($dev,$ino,$mode,$nlink, $uid,$gid,$rdev,$size, @@ -248,12 +248,24 @@ while ($fname=<$perlvar{'lonDaemons'}/tm $now=time; $since=$now-$mtime; if ($since>$perlvar{'lonExpire'}) { - $cleaned++; - unlink("$fname"); + $line=''; + if (open(PROBE,$fname)) { + $line=; + close(PROBE); + } + unless ($line=~/^CHECKOUTTOKEN\&/) { + $cleaned++; + unlink("$fname"); + } else { + if ($since>100*$perlvar{'lonExpire'}) { + $cleaned++; + unlink("$fname"); + } else { $old++; } + } } } -print $fh "Cleaned up ".$cleaned." files."; +print $fh "Cleaned up ".$cleaned." files (".$old." old checkout tokens)."; # ------------------------------------------------------------ clean out lonIDs print $fh '

Session Tokens

'; @@ -340,20 +352,20 @@ if ($perlvar{'lonRole'} eq "library") { $errors++; print $fh '
Killall lonsql: '. system('killall lonsql').' - '; - sleep 60; + sleep 2; print $fh unlink($lonsqlfile).' - '. system('killall -9 lonsql'). '
'; print $fh "

lonsql not running, trying to start

"; system( "$perlvar{'lonDaemons'}/lonsql 2>>$perlvar{'lonDaemons'}/logs/lonsql_errors"); - sleep 10; + sleep 2; if (-e $lonsqlfile) { print $fh "Seems like it started ...

"; my $lfh=IO::File->new("$lonsqlfile"); my $lonsqlpid=<$lfh>; chomp($lonsqlpid); - sleep 30; + sleep 2; if (kill 0 => $lonsqlpid) { print $fh "

lonsql at pid $lonsqlpid responding

"; } else { @@ -362,7 +374,7 @@ if ($perlvar{'lonRole'} eq "library") { print $fh "Give it one more try ...

"; system( "$perlvar{'lonDaemons'}/lonsql 2>>$perlvar{'lonDaemons'}/logs/lonsql_errors"); - sleep 10; + sleep 2; } } else { print $fh "Seems like that did not work!

"; @@ -422,7 +434,8 @@ if (-e $londfile) { my $londpid=<$lfh>; chomp($londpid); if (kill 0 => $londpid) { - print $fh "

lond at pid $londpid responding

"; + print $fh "

lond at pid $londpid responding, sending USR1

"; + kill USR1 => $londpid; $restartflag=0; } else { $errors++; @@ -436,19 +449,19 @@ if ($restartflag==1) { $errors++; print $fh '
Killall lond: '. system('killall lond').' - '; - sleep 60; + sleep 2; print $fh unlink($londfile).' - '.system('killall -9 lond'). '
'; print $fh "

lond not running, trying to start

"; system( "$perlvar{'lonDaemons'}/lond 2>>$perlvar{'lonDaemons'}/logs/lond_errors"); - sleep 10; + sleep 2; if (-e $londfile) { print $fh "Seems like it started ...

"; my $lfh=IO::File->new("$londfile"); my $londpid=<$lfh>; chomp($londpid); - sleep 30; + sleep 2; if (kill 0 => $londpid) { print $fh "

lond at pid $londpid responding

"; } else { @@ -457,7 +470,7 @@ if ($restartflag==1) { print $fh "Give it one more try ...

"; system( "$perlvar{'lonDaemons'}/lond 2>>$perlvar{'lonDaemons'}/logs/lond_errors"); - sleep 10; + sleep 2; } } else { print $fh "Seems like that did not work!

"; @@ -532,19 +545,19 @@ if ($restartflag==1) { $errors++; print $fh '
Killall lonc: '. system('killall lonc').' - '; - sleep 60; + sleep 2; print $fh unlink($loncfile).' - '.system('killall -9 lonc'). '
'; print $fh "

lonc not running, trying to start

"; system( "$perlvar{'lonDaemons'}/lonc 2>>$perlvar{'lonDaemons'}/logs/lonc_errors"); - sleep 10; + sleep 2; if (-e $loncfile) { print $fh "Seems like it started ...

"; my $lfh=IO::File->new("$loncfile"); my $loncpid=<$lfh>; chomp($loncpid); - sleep 30; + sleep 2; if (kill 0 => $loncpid) { print $fh "

lonc at pid $loncpid responding

"; } else { @@ -553,7 +566,7 @@ if ($restartflag==1) { print $fh "Give it one more try ...

"; system( "$perlvar{'lonDaemons'}/lonc 2>>$perlvar{'lonDaemons'}/logs/lonc_errors"); - sleep 10; + sleep 2; } } else { print $fh "Seems like that did not work!

";