Diff for /loncom/loncron between versions 1.100 and 1.101

version 1.100, 2014/03/17 14:47:38 version 1.101, 2014/12/16 18:18:44
Line 157  sub checkon_daemon { Line 157  sub checkon_daemon {
  $errors++;   $errors++;
  my $kadaemon=$daemon;   my $kadaemon=$daemon;
  if ($kadaemon eq 'lonmemcached') { $kadaemon='memcached'; }   if ($kadaemon eq 'lonmemcached') { $kadaemon='memcached'; }
  &log($fh,'<br><font color="red">Killall '.$daemon.': '.   &log($fh,'<br /><font color="red">Killall '.$daemon.': '.
     `killall $kadaemon 2>&1`.' - ');      `killall $kadaemon 2>&1`.' - ');
  sleep 1;   sleep 1;
  &log($fh,unlink($pidfile).' - '.   &log($fh,unlink($pidfile).' - '.
     `killall -9 $kadaemon 2>&1`.      `killall -9 $kadaemon 2>&1`.
     '</font><br>');      '</font><br />');
  &log($fh,"<h3>$daemon not running, trying to start</h3>");   &log($fh,"<h3>$daemon not running, trying to start</h3>");
   
  if (&start_daemon($fh,$daemon,$pidfile,$args)) {   if (&start_daemon($fh,$daemon,$pidfile,$args)) {
Line 285  sub start_logging { Line 285  sub start_logging {
           
   
     &log($fh,(<<ENDHEADERS));      &log($fh,(<<ENDHEADERS));
 <html>  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>  <head>
 <title>LON Status Report $perlvar{'lonHostID'}</title>  <title>LON Status Report $perlvar{'lonHostID'}</title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 </head>  </head>
 <body bgcolor="#AAAAAA">  <body bgcolor="#AAAAAA">
 <a name="top" />  <a name="top" />
Line 328  ENDHEADERS Line 330  ENDHEADERS
     "</td><td>".$role.      "</td><td>".$role.
     "</td><td>".&Apache::lonnet::hostname($id)."</td></tr>\n");      "</td><td>".&Apache::lonnet::hostname($id)."</td></tr>\n");
     }      }
     &log($fh,"</table><h3>Spare Hosts</h3><ul>");      &log($fh,"</table><h3>Spare Hosts</h3>");
     foreach my $type (sort(keys(%Apache::lonnet::spareid))) {      if (keys(%Apache::lonnet::spareid) > 0) {
  &log($fh,"<li>$type\n<ol>");          &log($fh,"<ul>");
  foreach my $id (@{ $Apache::lonnet::spareid{$type} }) {          foreach my $type (sort(keys(%Apache::lonnet::spareid))) {
     &log($fh,"<li>$id</li>\n");      &log($fh,"<li>$type\n<ol>");
  }      foreach my $id (@{ $Apache::lonnet::spareid{$type} }) {
  &log($fh,"</ol>\n</li>\n");          &log($fh,"<li>$id</li>\n");
       }
       &log($fh,"</ol>\n</li>\n");
           }
           &log($fh,"</ul>\n");
       } else {
           &log($fh,"No spare hosts specified<br />\n");
     }      }
     &log($fh,"</ul>\n");  
     return $fh;      return $fh;
 }  }
   
Line 482  sub clean_lonIDs { Line 489  sub clean_lonIDs {
  my $since=$now-$mtime;   my $since=$now-$mtime;
  if ($since>$perlvar{'lonExpire'}) {   if ($since>$perlvar{'lonExpire'}) {
     $cleaned++;      $cleaned++;
     &log($fh,"Unlinking $fname<br>");      &log($fh,"Unlinking $fname<br />");
     unlink("$fname");      unlink("$fname");
  } else {   } else {
     $active++;      $active++;
Line 615  sub check_delayed_msg { Line 622  sub check_delayed_msg {
  my ($time,$sdf,$dserv,$dcmd)=split(/:/,$line);   my ($time,$sdf,$dserv,$dcmd)=split(/:/,$line);
  if ($sdf eq 'F') {    if ($sdf eq 'F') { 
     my $local=localtime($time);      my $local=localtime($time);
     &log($fh,"<b>Failed: $time, $dserv, $dcmd</b><br>");      &log($fh,"<b>Failed: $time, $dserv, $dcmd</b><br />");
     $warnings++;      $warnings++;
  }   }
  if ($sdf eq 'S') { $unsend--; }   if ($sdf eq 'S') { $unsend--; }
Line 782  sub write_checksums { Line 789  sub write_checksums {
 }  }
   
 sub send_mail {  sub send_mail {
     print "Sending mail.\n";  
     my $defdom = $perlvar{'lonDefDomain'};      my $defdom = $perlvar{'lonDefDomain'};
     my $origmail = $perlvar{'lonAdmEMail'};      my $origmail = $perlvar{'lonAdmEMail'};
     my $emailto = &Apache::loncommon::build_recipient_list(undef,      my $emailto = &Apache::loncommon::build_recipient_list(undef,
Line 790  sub send_mail { Line 796  sub send_mail {
     if ($totalcount>2500) {      if ($totalcount>2500) {
  $emailto.=",$perlvar{'lonSysEMail'}";   $emailto.=",$perlvar{'lonSysEMail'}";
     }      }
     my $subj="LON: $perlvar{'lonHostID'} E:$errors W:$warnings N:$notices";       my $from;
       my $hostname=`/bin/hostname`;
     my $result=system("metasend -b -S 4000000 -t $emailto -s '$subj' -f $statusdir/index.html -m text/html >& /dev/null");      chop($hostname);
     if ($result != 0) {      $hostname=~s/[^\w\.]//g;
  $result=system("mail -s '$subj' $emailto < $statusdir/index.html");      if ($hostname) {
           $from = 'www@'.$hostname;
       }
       my $subj="LON: $perlvar{'lonHostID'} E:$errors W:$warnings N:$notices";
       my $loncronmail = "To: $emailto\n".
                         "From: $from\n".
                         "Subject: ".$subj."\n".
                         "Content-type: text/html\; charset=UTF-8\n".
                         "MIME-Version: 1.0\n\n";
       if (open(my $fh,"<$statusdir/index.html")) {
           while (<$fh>) {
               $loncronmail .= $_;
           }
           close($fh);
       } else {
           $loncronmail .= "Failed to read from http://$hostname/lon-status/index.html\n";
       }
       $loncronmail .= "\n\n";
       if (open(my $mailh, "|/usr/lib/sendmail -oi -t -odb")) {
           print $mailh $loncronmail;
           close($mailh);
           print "Sending mail.\n";
       } else {
           print "Sending mail failed.\n";
     }      }
 }  }
   

Removed from v.1.100  
changed lines
  Added in v.1.101


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