[LON-CAPA-cvs] cvs: loncom / lond /interface domainprefs.pm /lonnet/perl lonnet.pm

raeburn raeburn at source.lon-capa.org
Mon Aug 1 23:11:48 EDT 2011


raeburn		Tue Aug  2 03:11:48 2011 EDT

  Modified files:              
    /loncom	lond 
    /loncom/lonnet/perl	lonnet.pm 
    /loncom/interface	domainprefs.pm 
  Log:
  - New routine in lonnet.pm - remote_devalidate_cache() to devalidate memcache
    for specific key on remote server.
  - Corresponding new routine: &server_devalidatecache_handler() on lond side.
  - &remote_devalidate_cache() called when spares configuration changed for
    hostIDs for a particular domain via Domain Configuration screen.
  
  
Index: loncom/lond
diff -u loncom/lond:1.478 loncom/lond:1.479
--- loncom/lond:1.478	Mon Aug  1 20:13:01 2011
+++ loncom/lond	Tue Aug  2 03:11:35 2011
@@ -2,7 +2,7 @@
 # The LearningOnline Network
 # lond "LON Daemon" Server (port "LOND" 5663)
 #
-# $Id: lond,v 1.478 2011/08/01 20:13:01 raeburn Exp $
+# $Id: lond,v 1.479 2011/08/02 03:11:35 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -60,7 +60,7 @@
 my $status='';
 my $lastlog='';
 
-my $VERSION='$Revision: 1.478 $'; #' stupid emacs
+my $VERSION='$Revision: 1.479 $'; #' stupid emacs
 my $remoteVERSION;
 my $currenthostid="default";
 my $currentdomainid;
@@ -1670,6 +1670,17 @@
 }
 &register_handler("readlonnetglobal", \&read_lonnet_global, 0, 1, 0);
 
+sub server_devalidatecache_handler {
+    my ($cmd,$tail,$client) = @_;
+    my $userinput = "$cmd:$tail";
+    my ($name,$id) = map { &unescape($_); } split(/:/,$tail);
+    &Apache::lonnet::devalidate_cache_new($name,$id);
+    my $result = 'ok';
+    &Reply($client,\$result,$userinput);
+    return 1;
+}
+&register_handler("devalidatecache", \&devalidatecache_handler, 0, 1, 0);
+
 sub server_timezone_handler {
     my ($cmd,$tail,$client) = @_;
     my $userinput = "$cmd:$tail";
Index: loncom/lonnet/perl/lonnet.pm
diff -u loncom/lonnet/perl/lonnet.pm:1.1123 loncom/lonnet/perl/lonnet.pm:1.1124
--- loncom/lonnet/perl/lonnet.pm:1.1123	Mon Aug  1 22:13:49 2011
+++ loncom/lonnet/perl/lonnet.pm	Tue Aug  2 03:11:42 2011
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # TCP networking package
 #
-# $Id: lonnet.pm,v 1.1123 2011/08/01 22:13:49 raeburn Exp $
+# $Id: lonnet.pm,v 1.1124 2011/08/02 03:11:42 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -344,6 +344,12 @@
     return %returnhash;
 }
 
+sub remote_devalidate_cache {
+    my ($lonhost,$name,$id) = @_;
+    my $response = &reply('devalidatecache',&escape($name).':'.&escape($id),$lonhost);
+    return $response;
+}
+
 # -------------------------------------------------- Non-critical communication
 sub subreply {
     my ($cmd,$server)=@_;
Index: loncom/interface/domainprefs.pm
diff -u loncom/interface/domainprefs.pm:1.147 loncom/interface/domainprefs.pm:1.148
--- loncom/interface/domainprefs.pm:1.147	Mon Aug  1 23:33:43 2011
+++ loncom/interface/domainprefs.pm	Tue Aug  2 03:11:48 2011
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Handler to set domain-wide configuration settings
 #
-# $Id: domainprefs.pm,v 1.147 2011/08/01 23:33:43 raeburn Exp $
+# $Id: domainprefs.pm,v 1.148 2011/08/02 03:11:48 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -7149,6 +7149,8 @@
                             if (ref($changes{$prefix}) eq 'HASH') {
                                 foreach my $lonhost (sort(keys(%{$changes{$prefix}}))) {
                                     $resulttext .= '<li><b>'.$lonhost.'</b> ';
+                                    my $lonhostdom = &Apache::lonnet::host_domain($lonhost);
+                                    &Apache::lonnet::remote_devalidate_cache($lonhost,'spares',$lonhostdom);
                                     if (ref($changes{$prefix}{$lonhost}) eq 'HASH') {
                                         foreach my $type (@{$types{$prefix}}) {
                                             if ($changes{$prefix}{$lonhost}{$type}) {




More information about the LON-CAPA-cvs mailing list