[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 @@
}
®ister_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;
+}
+®ister_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