$group_id = intval($_GET["group_id"]); if (!CClusterGroup::GetArrayByID($group_id)) { $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); } $sTableID = "tbl_cluster_memcache_list"; $oSort = new CAdminSorting($sTableID, "ID", "ASC"); $lAdmin = new CAdminList($sTableID, $oSort); if ($arID = $lAdmin->GroupAction()) { foreach ($arID as $ID) { if (strlen($ID) <= 0) { continue; } $ID = IntVal($ID); switch ($_REQUEST['action']) { case "delete": CClusterMemcache::Delete($ID); break; case "pause": CClusterMemcache::Pause($ID); break; case "resume": CClusterMemcache::Resume($ID); break; } } } $arHeaders = array(array("id" => "ID", "content" => GetMessage("CLU_MEMCACHE_LIST_ID"), "align" => "right", "default" => true), array("id" => "FLAG", "content" => GetMessage("CLU_MEMCACHE_LIST_FLAG"), "align" => "center", "default" => true), array("id" => "STATUS", "content" => GetMessage("CLU_MEMCACHE_LIST_STATUS"), "align" => "center", "default" => true), array("id" => "WEIGHT", "content" => GetMessage("CLU_MEMCACHE_LIST_WEIGHT"), "align" => "right", "default" => true), array("id" => "HOST", "content" => GetMessage("CLU_MEMCACHE_LIST_HOST"), "align" => "left", "default" => true)); $lAdmin->AddHeaders($arHeaders); if (!isset($_SESSION["MEMCACHE_LIST"])) { $_SESSION["MEMCACHE_LIST"] = array(); }
/** * Installation config to module "cluster". * * @param InputInterface $input * @param OutputInterface $output * @param array $cluster * * @throws \Bitrix\Main\LoaderException * @throws \Exception */ protected function configureCluster(InputInterface $input, OutputInterface $output, array $cluster) { global $APPLICATION; if (!Loader::includeModule('cluster')) { throw new \Exception('Failed to load module "cluster"'); } $memcache = new \CClusterMemcache(); if (isset($cluster['memcache'])) { $output->writeln(' <comment>memcache</comment>'); if (!is_array($cluster['memcache'])) { throw new \Exception('Server info must be an array'); } $rsServers = $memcache->GetList(); while ($server = $rsServers->Fetch()) { $memcache->Delete($server['ID']); } foreach ($cluster['memcache'] as $index => $server) { $serverId = $memcache->Add($server); if ($serverId && !$input->getOption('memcache-cold-start')) { $memcache->Resume($serverId); } else { $exception = $APPLICATION->GetException(); $message = 'Invalid memcache config with index ' . $index; if ($exception->GetString()) { $message = str_replace('<br>', "\n", $exception->GetString()); } $output->writeln('<error>' . $message . '</error>'); } } } }