$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();
}
Пример #2
0
 /**
  * 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>');
             }
         }
     }
 }