Ryan Lane has submitted this change and it was merged.
Change subject: Cache the list of project members.
......................................................................
Cache the list of project members.
Change-Id: I59b4ee7d3622a5119d050a32209d83d4fb2bed0b
---
M nova/OpenStackNovaProject.php
1 file changed, 17 insertions(+), 1 deletion(-)
Approvals:
Ryan Lane: Verified; Looks good to me, approved
jenkins-bot: Checked
diff --git a/nova/OpenStackNovaProject.php b/nova/OpenStackNovaProject.php
index d31c2d0..e493014 100644
--- a/nova/OpenStackNovaProject.php
+++ b/nova/OpenStackNovaProject.php
@@ -165,7 +165,14 @@
*/
function getMembers() {
global $wgAuth;
+ global $wgMemc;
global $wgOpenStackManagerLDAPDomain;
+
+ $key = wfMemcKey( 'openstackmanager', 'projectmembers',
$this->projectname );
+ $members = $wgMemc->get( $key );
+ if ( is_array( $members ) ) {
+ return $members;
+ }
$members = array();
if ( isset( $this->projectInfo[0]['member'] ) ) {
@@ -179,7 +186,6 @@
if ( $searchattr ) {
// We need to look up the search attr
from the user entry
// this is expensive, but must be done.
- // TODO: memcache this
$userInfo =
$wgAuth->getUserInfoStateless( $memberdn );
$members[] =
$userInfo[0][$searchattr][0];
} else {
@@ -190,6 +196,8 @@
}
}
}
+
+ $wgMemc->set( $key, $members, '3600' );
return $members;
}
@@ -378,6 +386,10 @@
*/
function deleteMember( $username ) {
global $wgAuth;
+ global $wgMemc;
+
+ $key = wfMemcKey( 'openstackmanager', 'projectmembers',
$this->projectname );
+ $wgMemc->delete( $key );
if ( isset( $this->projectInfo[0]['member'] ) ) {
$members = $this->projectInfo[0]['member'];
@@ -480,6 +492,10 @@
*/
function addMember( $username ) {
global $wgAuth;
+ global $wgMemc;
+
+ $key = wfMemcKey( 'openstackmanager', 'projectmembers',
$this->projectname );
+ $wgMemc->delete( $key );
$members = array();
if ( isset( $this->projectInfo[0]['member'] ) ) {
--
To view, visit https://gerrit.wikimedia.org/r/69126
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I59b4ee7d3622a5119d050a32209d83d4fb2bed0b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/OpenStackManager
Gerrit-Branch: master
Gerrit-Owner: Andrew Bogott <[email protected]>
Gerrit-Reviewer: Ryan Lane <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits