[LON-CAPA-cvs] cvs: loncom /publisher lonpublisher.pm

raeburn raeburn at source.lon-capa.org
Thu Dec 19 19:13:52 EST 2024


raeburn		Fri Dec 20 00:13:52 2024 EDT

  Modified files:              
    /loncom/publisher	lonpublisher.pm 
  Log:
  - Sanity checking.
  
  
Index: loncom/publisher/lonpublisher.pm
diff -u loncom/publisher/lonpublisher.pm:1.304 loncom/publisher/lonpublisher.pm:1.305
--- loncom/publisher/lonpublisher.pm:1.304	Sat Jun  1 22:25:23 2024
+++ loncom/publisher/lonpublisher.pm	Fri Dec 20 00:13:52 2024
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Publication Handler
 #
-# $Id: lonpublisher.pm,v 1.304 2024/06/01 22:25:23 raeburn Exp $
+# $Id: lonpublisher.pm,v 1.305 2024/12/20 00:13:52 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -2197,36 +2197,39 @@
 # =============================================================== Notifications
 sub notify {  
 # --------------------------------------------------- Send update notifications
-    foreach my $targetsource (@{$modified_urls}){
-	my ($target,$source)=@{$targetsource};
-	my $logfile=Apache::File->new('>>'.$source.'.log');
-	print $logfile "\nCleanup phase: Notifications\n";
-	my @subscribed=&get_subscribed_hosts($target);
-	foreach my $subhost (@subscribed) {
-	    print $logfile "\nNotifying host ".$subhost.':';
-	    my $reply=&Apache::lonnet::critical('update:'.$target,$subhost);
-	    print $logfile $reply;
-	}
+    if (ref($modified_urls) eq 'ARRAY') {
+        foreach my $targetsource (@{$modified_urls}){
+	    my ($target,$source)=@{$targetsource};
+	    my $logfile=Apache::File->new('>>'.$source.'.log');
+	    print $logfile "\nCleanup phase: Notifications\n";
+	    my @subscribed=&get_subscribed_hosts($target);
+	    foreach my $subhost (@subscribed) {
+	        print $logfile "\nNotifying host ".$subhost.':';
+	        my $reply=&Apache::lonnet::critical('update:'.$target,$subhost);
+	        print $logfile $reply;
+	    }
 # ---------------------------------------- Send update notifications, meta only
-	my @subscribedmeta=&get_subscribed_hosts("$target.meta");
-	foreach my $subhost (@subscribedmeta) {
-	    print $logfile "\nNotifying host for metadata only ".$subhost.':';
-	    my $reply=&Apache::lonnet::critical('update:'.$target.'.meta',
-						$subhost);
-	    print $logfile $reply;
-	} 
+	    my @subscribedmeta=&get_subscribed_hosts("$target.meta");
+	    foreach my $subhost (@subscribedmeta) {
+	        print $logfile "\nNotifying host for metadata only ".$subhost.':';
+	        my $reply=&Apache::lonnet::critical('update:'.$target.'.meta',
+		    				    $subhost);
+	        print $logfile $reply;
+	    }
 # --------------------------------------------------- Notify subscribed courses
-	my %courses=&coursedependencies($target);
-	my $now=time;
-	foreach my $course (keys(%courses)) {
-	    print $logfile "\nNotifying course ".$course.':';
-	    my ($cdom,$cname)=split(/\_/,$course);
-	    my $reply=&Apache::lonnet::cput
-		('versionupdate',{$target => $now},$cdom,$cname);
-	    print $logfile $reply;
-	}
-	print $logfile "\n============ Done ============\n";
-	$logfile->close();
+	    my %courses=&coursedependencies($target);
+	    my $now=time;
+	    foreach my $course (keys(%courses)) {
+	        print $logfile "\nNotifying course ".$course.':';
+	        my ($cdom,$cname)=split(/\_/,$course);
+	        my $reply=&Apache::lonnet::cput
+		    ('versionupdate',{$target => $now},$cdom,$cname);
+	        print $logfile $reply;
+	    }
+	    print $logfile "\n============ Done ============\n";
+	    $logfile->close();
+        }
+        $modified_urls = [];
     }
     if ($lock) { &Apache::lonnet::remove_lock($lock); }
     return OK;




More information about the LON-CAPA-cvs mailing list