/** * @param string $seed * @return mixed */ protected function getMemCacheKey($seed) { if (!isset($this->keys[$seed])) { $this->keys[$seed] = wfsharedMemcKey(static::MEMC_NAME . static::CACHE_VERSION . ':' . $seed); } return $this->keys[$seed]; }
public function getWikiAdmins($wikiId, $avatarSize, $limit = null) { return WikiaDataAccess::cacheWithLock(wfsharedMemcKey('get_wiki_admins', $wikiId, $avatarSize, $limit), 3 * 60 * 60, function () use($wikiId, $avatarSize, $limit) { $admins = array(); try { $admins = $this->getWikiAdminIds($wikiId, false, true, $limit, false); $checkUserCallback = function ($user) { return true; }; foreach ($admins as &$admin) { $userInfo = $this->getUserInfo($admin, $wikiId, $avatarSize, $checkUserCallback); $admin = $userInfo; } } catch (Exception $e) { // for devboxes } return $admins; }); }