Пример #1
0
         $arResult["ERROR"] = $e->getMessage();
         break;
     }
     try {
         $result = $action->start();
         $arResult["ACTION_RESULT"] = $action->getResult();
     } catch (\Bitrix\Scale\NeedMoreUserInfoException $e) {
         $arResult["NEED_MORE_USER_INFO"] = array("ACTION_ID" => $actionId, "HOSTNAME" => $serverHostname, "USER_PARAMS" => $userParams, "FREE_PARAMS" => $freeParams, "ACTION_PARAMS" => $e->getActionParams());
         $result = true;
     } catch (Exception $e) {
         $arResult["ERROR"] = $e->getMessage();
     }
     break;
 case "check_state":
     $bid = isset($_REQUEST['params']['bid']) ? trim($_REQUEST['params']['bid']) : '';
     $arResult["ACTION_STATE"] = \Bitrix\Scale\ActionsData::getActionState($bid);
     if (!empty($arResult["ACTION_STATE"])) {
         $result = true;
     }
     break;
 case "get_monitoring_values":
     $servers = isset($_REQUEST['params']['servers']) ? $_REQUEST['params']['servers'] : array();
     $result = true;
     $arResult["MONITORING_DATA"] = array();
     foreach ($servers as $hostname => $monitoringPartitions) {
         $arResult["MONITORING_DATA"][$hostname] = array();
         if (isset($monitoringPartitions["rolesIds"]) && is_array($monitoringPartitions["rolesIds"])) {
             foreach ($monitoringPartitions["rolesIds"] as $roleId) {
                 try {
                     $arResult["MONITORING_DATA"][$hostname]["ROLES_LOADBARS"][$roleId] = \Bitrix\Scale\Monitoring::getLoadBarValue($hostname, $roleId);
                 } catch (Exception $e) {