$providerId = $ids[0]; $orderId = $ids[1]; switch ($request['action_button']) { case "add_to_pull": $result = \Bitrix\Scale\Provider::addToPullFromOrder($providerId, $orderId); if ($result === false || isset($result["error"]) && $result["error"] == 1) { $message = Loc::getMessage("SCALE_ORDER_ADD_PULL_ERROR"); if (isset($result["message"])) { $message .= ": \"" . $result["message"] . "\""; } $adminList->AddGroupError($message); } else { $adminList->AddActionSuccessMessage(Loc::getMessage("SCALE_ORDER_ADD_PULL_SUCCESS")); try { // add to monitoring $actionUpdateMonitoring = \Bitrix\Scale\ActionsData::getActionObject("MONITORING_UPDATE"); $actionUpdateMonitoring->start(); } catch (Exception $e) { $adminList->AddGroupError($e->getMessage()); } } break; } } } $ordersList = \Bitrix\Scale\Provider::getOrdersList(); $orders = array(); foreach ($ordersList as $providerId => $providerOrders) { if (!is_array($providerOrders)) { continue; }
$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) {
$APPLICATION->AddHeadScript("/bitrix/js/scale/actionparamsdialog.js"); $APPLICATION->AddHeadScript("/bitrix/js/scale/actionresultdialog.js"); $APPLICATION->AddHeadScript("/bitrix/js/scale/loadbar.js"); $APPLICATION->AddHeadScript("/bitrix/js/scale/role.js"); $APPLICATION->AddHeadScript("/bitrix/js/scale/action.js"); $APPLICATION->AddHeadScript("/bitrix/js/scale/infotable.js"); $APPLICATION->AddHeadScript("/bitrix/js/scale/itloadbar.js"); $APPLICATION->AddHeadScript("/bitrix/js/scale/server.js"); $APPLICATION->AddHeadScript("/bitrix/js/scale/provider.js"); $APPLICATION->AddHeadScript("/bitrix/js/scale/admin_frame.js"); $APPLICATION->SetAdditionalCSS("/bitrix/js/scale/css/scale-page-style.css"); $jsLangMesIds = array("SCALE_PANEL_JS_APD_BUT_START", "SCALE_PANEL_JS_APD_2_CONFIRM", "SCALE_PANEL_JS_APD_2_NOT_CONCIDE", "SCALE_PANEL_JS_ACT_CONFIRM", "SCALE_PANEL_JS_ERROR", "SCALE_PANEL_JS_ARD_RES", "SCALE_PANEL_JS_ACT_RES_ERROR", "SCALE_PANEL_JS_ARD_NAME", "SCALE_PANEL_JS_ARD_RESULT", "SCALE_PANEL_JS_ARD_MESSAGE", "SCALE_PANEL_JS_APD_TITLE", "SCALE_PANEL_JS_ACT_EXEC_ERROR", "SCALE_PANEL_JS_ACT_EXEC_SUCCESS", "SCALE_PANEL_JS_MENU", "SCALE_PANEL_JS_PASS_MUST_BE_CHANGED", "SCALE_PANEL_JS_BID_ERROR", "SCALE_JS_SERVER_TITLE_TITLE", "SCALE_PANEL_MONITORING_DISABLED", "SCALE_PANEL_JS_ADVICE_TO_BACKUP", "SCALE_PANEL_JS_GLOBAL_ACTIONS", "SCALE_PANEL_JS_MONITORING_DATABASE_CREATING", "SCALE_PANEL_JS_ACT_CONFIRM_TITLE", "SCALE_PANEL_JS_ADVICE_TO_BACKUP_TITLE", "SCALE_PANEL_JS_CANCEL", "SCALE_PANEL_JS_CLOSE", "SCALE_PANEL_JS_BX_ENV_NOT_INSTALLED", "SCALE_PANEL_JS_BX_ENV_NEED_UPDATE", "SCALE_PANEL_JS_BX_ENV_VERSION", "SCALE_PANEL_JS_BX_INFO_ERROR", "SCALE_PANEL_JS_ACT_SERVER_WILL_AVAILABLE", "SCALE_PANEL_JS_ACT_HOUR", "SCALE_PANEL_JS_ACT_MIN", "SCALE_PANEL_JS_ACT_SEC", "SCALE_PANEL_JS_EXTRA_DB_CONFIRM", "SCALE_PANEL_JS_EXTRA_DB_CONFIRM_TITLE", "SCALE_PANEL_JS_WFA_TITLE", "SCALE_PANEL_JS_WFA_TEXT", "SCALE_PANEL_JS_PROVIDER", "SCALE_PANEL_JS_PROVIDER_CHOOSE", "SCALE_PANEL_JS_PROVIDER_MANUAL", "SCALE_PANEL_JS_PROVIDER_BUT_CHOOSE", "SCALE_PANEL_JS_PROVIDER_CONFIG_CHOOSE", "SCALE_PANEL_JS_PROVIDER_NO_CONFIGS", "SCALE_PANEL_JS_PROVIDER_LIST_ERROR", "SCALE_PANEL_JS_PROVIDER_ERROR", "SCALE_PANEL_JS_PROVIDER_CONFIGS_ERROR", "SCALE_PANEL_JS_PROVIDER_ORDER_ERROR", "SCALE_PANEL_JS_REFRESH_TITLE", "SCALE_PANEL_JS_REFRESH_TEXT", "SCALE_PANEL_JS_BX_VER_ERROR", "SCALE_PANEL_JS_BX_ENV_NEED_UPDATE2", "SCALE_PANEL_JS_PROVIDER_ORDER_SUCCESS", "SCALE_PANEL_JS_PROVIDER_ORDER_SUCCESS_TITLE"); $dataRefreshTimeInterval = 300000; //ms how often we want to refresh monitoring info. $serversList = \Bitrix\Scale\ServersData::getList(); $runningAction = \Bitrix\Scale\ActionsData::checkRunningAction(); //If one of the actions runs now - get it params, to show dialog, and block page $pullCreateAction = 'CREATE_PULL'; if (empty($serversList)) { $netIfaces = \Bitrix\Scale\Helper::getNetworkInterfaces(); if (is_array($netIfaces) && count($netIfaces) > 1) { $pullCreateAction = "CREATE_PULL_NET_IFACE"; } } require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; if (\Bitrix\Scale\Helper::checkBxEnvVersion()) { ?> <div class="adm-scale-page-wrap" id="adm-scale-page-wrap"> <div class="adm-scale-blocks-wrapper" id="adm-scale-blocks-wrapper"<?php echo empty($serversList) ? ' style="width:100%;"' : ''; ?>