[LON-CAPA-cvs] cvs: loncom / loncron /init.d loncontrol
albertel
lon-capa-cvs@mail.lon-capa.org
Thu, 26 May 2005 20:25:02 -0000
albertel Thu May 26 16:25:02 2005 EDT
Modified files:
/loncom loncron
/loncom/init.d loncontrol
Log:
- 'reload' command now sends USR2 against lonc/d causng them to reread the hosts.tab/doain.tab files
Index: loncom/loncron
diff -u loncom/loncron:1.58 loncom/loncron:1.59
--- loncom/loncron:1.58 Wed Apr 13 14:56:07 2005
+++ loncom/loncron Thu May 26 16:25:00 2005
@@ -2,7 +2,7 @@
# Housekeeping program, started by cron, loncontrol and loncron.pl
#
-# $Id: loncron,v 1.58 2005/04/13 18:56:07 albertel Exp $
+# $Id: loncron,v 1.59 2005/05/26 20:25:00 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -111,7 +111,7 @@
}
sub checkon_daemon {
- my ($fh,$daemon,$maxsize,$sendusr1,$args)=@_;
+ my ($fh,$daemon,$maxsize,$send,$args)=@_;
&log($fh,'<hr /><a name="'.$daemon.'" /><h2>'.$daemon.'</h2><h3>Log</h3><p style="white-space: pre;"><tt>');
printf("%-15s ",$daemon);
@@ -137,11 +137,16 @@
chomp($daemonpid);
if (kill 0 => $daemonpid) {
&log($fh,"<h3>$daemon at pid $daemonpid responding");
- if ($sendusr1) { &log($fh,", sending USR1"); }
+ if ($send) { &log($fh,", sending $send"); }
&log($fh,"</h3>");
- if ($sendusr1) { kill USR1 => $daemonpid; }
+ if ($send eq 'USR1') { kill USR1 => $daemonpid; }
+ if ($send eq 'USR2') { kill USR2 => $daemonpid; }
$restartflag=0;
- print "running\n";
+ if ($send eq 'USR2') {
+ print "reloaded\n";
+ } else {
+ print "running\n";
+ }
} else {
$errors++;
&log($fh,"<h3>$daemon at pid $daemonpid not responding</h3>");
@@ -583,18 +588,24 @@
running, do not send emails do not
check the lonc/d connections, do not
generate lon-status
+ --justreload Only tell the daemons to reload the config files,
+ do not send emails do not
+ check if the daemons are running, do not
+ generate lon-status
USAGE
}
# ================================================================ Main Program
sub main () {
- my ($oldlonc,$help,$justcheckdaemons,$noemail,$justcheckconnections);
+ my ($oldlonc,$help,$justcheckdaemons,$noemail,$justcheckconnections,
+ $justreload);
&GetOptions("help" => \$help,
"oldlonc" => \$oldlonc,
"justcheckdaemons" => \$justcheckdaemons,
"noemail" => \$noemail,
- "justcheckconnections" => \$justcheckconnections
+ "justcheckconnections" => \$justcheckconnections,
+ "justreload" => \$justreload
);
if ($help) { &usage(); return; }
# --------------------------------- Read loncapa_apache.conf and loncapa.conf
@@ -664,7 +675,7 @@
my $fh;
- if (!$justcheckdaemons && !$justcheckconnections) {
+ if (!$justcheckdaemons && !$justcheckconnections && !$justreload) {
$fh=&start_logging(\%hostdom,\%hostrole,\%hostname,\%spareid);
&log_machine_info($fh);
@@ -673,19 +684,25 @@
&check_httpd_logs($fh);
&rotate_lonnet_logs($fh);
}
- if (!$justcheckconnections) {
+ if (!$justcheckconnections && !$justreload) {
&checkon_daemon($fh,'lonsql',200000);
- &checkon_daemon($fh,'lond',40000,1);
+ &checkon_daemon($fh,'lond',40000,'USR1');
my $args='new';
if ($oldlonc) { $args = ''; }
- &checkon_daemon($fh,'lonc',40000,1,$args);
+ &checkon_daemon($fh,'lonc',40000,'USR1',$args);
&checkon_daemon($fh,'lonhttpd',40000);
&checkon_daemon($fh,'lonmemcached',40000);
}
- if (!$justcheckdaemons) {
+ if ($justreload) {
+ &checkon_daemon($fh,'lond',40000,'USR2');
+ my $args='new';
+ if ($oldlonc) { $args = ''; }
+ &checkon_daemon($fh,'lonc',40000,'USR2',$args);
+ }
+ if (!$justcheckdaemons && !$justreload) {
&test_connections($fh,\%hostname);
}
- if (!$justcheckdaemons && !$justcheckconnections) {
+ if (!$justcheckdaemons && !$justcheckconnections && !$justreload) {
&check_delayed_msg($fh);
&finish_logging($fh);
&log_simplestatus();
Index: loncom/init.d/loncontrol
diff -u loncom/init.d/loncontrol:1.24 loncom/init.d/loncontrol:1.25
--- loncom/init.d/loncontrol:1.24 Sun Feb 13 19:29:48 2005
+++ loncom/init.d/loncontrol Thu May 26 16:25:00 2005
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# $Id: loncontrol,v 1.24 2005/02/14 00:29:48 albertel Exp $
+# $Id: loncontrol,v 1.25 2005/05/26 20:25:00 albertel Exp $
#
# The LearningOnline Network with CAPA
#
@@ -162,7 +162,7 @@
print 'Starting LON-CAPA client and daemon processes (please be patient)'.
"\n";
system("su www -c '/home/httpd/perl/loncron --oldlonc --justcheckdaemons'");
-} elsif (($command eq "restart") or ($command eq "reload")) {
+} elsif ($command eq "restart") {
print 'Restarting LON-CAPA'."\n";
print 'Ending LON-CAPA client and daemon processes'."\n";
foreach my $daemon ('lonsql','lond','lonc','lonhttpd','lonmemcached') {
@@ -193,6 +193,9 @@
print 'Starting LON-CAPA client and daemon processes (please be patient)'.
"\n";
system("su www -c '/home/httpd/perl/loncron --justcheckdaemons'");
+} elsif ($command eq "reload") {
+ print 'Reload LON-CAPA config files'."\n";
+ system("su www -c '/home/httpd/perl/loncron --justreload'");
} elsif ($command eq "status") {
$response=`/bin/cat /home/httpd/perl/logs/*.pid 2>&1`;
if ($response=~/No such file or directory/) {