From 13a293da71b87cd173179f054961e36ed580dc93 Mon Sep 17 00:00:00 2001 From: AKuznetsov Date: Thu, 14 Jun 2018 17:41:07 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BD=D0=B3=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=87=D0=B8=D1=85=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D1=86=D0=B5=D1=81=D1=81=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...21\206\320\265\321\201\321\201\321\213.os" | 24 ++++--- ...21\212\320\265\320\272\321\202\320\260.os" | 67 +++++++++++++++++++ ...21\212\320\265\320\272\321\202\320\260.os" | 31 +-------- ...20\276\321\206\320\265\321\201\321\201.os" | 29 ++++---- ...20\262\320\260\320\275\320\270\321\217.os" | 41 +++++++----- 5 files changed, 121 insertions(+), 71 deletions(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\240\320\260\320\261\320\276\321\207\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\321\213.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\240\320\260\320\261\320\276\321\207\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\321\213.os" index c418016..5f971f7 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\240\320\260\320\261\320\276\321\207\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\321\213.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\273\320\260\321\201\321\202\320\265\321\200\320\240\320\260\320\261\320\276\321\207\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\321\213.os" @@ -16,7 +16,7 @@ Кластер_Агент = АгентКластера; Кластер_Владелец = Кластер; - ПараметрыОбъекта = Новый ПараметрыОбъекта("process"); + ПараметрыОбъекта = Новый КомандыОбъекта("process"); Элементы = Новый ОбъектыКластера(ЭтотОбъект); @@ -36,16 +36,20 @@ Возврат; КонецЕсли; - ПараметрыЗапуска = Новый Массив(); - ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения()); - - ПараметрыЗапуска.Добавить("process"); - ПараметрыЗапуска.Добавить("list"); + ПараметрыКоманды = Новый Соответствие(); + ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения()); + ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации()); + ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид()); + + ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды); - ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид())); - ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации()); + КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Список")); - Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска); + Если НЕ КодВозврата = 0 Тогда + ВызватьИсключение СтрШаблон("Ошибка получения списка рабочих процессов, КодВозврата = %1: %2", + КодВозврата, + Кластер_Агент.ВыводКоманды(Ложь)); + КонецЕсли; МассивРезультатов = Кластер_Агент.ВыводКоманды(); @@ -71,7 +75,7 @@ // Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт - Возврат ПараметрыОбъекта.Получить(ИмяПоляКлюча); + Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча); КонецФункции // ПараметрыОбъекта() diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\260.os" index 471c3ae..c024386 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\260.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\260.os" @@ -593,6 +593,73 @@ #КонецОбласти // Серверы +#Область РабочиеПроцессы + +// Процедура заполняет массив описаний параметров рабочего процесса +// +Процедура Параметры_РабочийПроцесс_Свойства() Экспорт + + ДобавитьОписаниеСвойстваОбъекта("Ид" , "process"); + ДобавитьОписаниеСвойстваОбъекта("АдресСервера" , "host"); + ДобавитьОписаниеСвойстваОбъекта("ПортСервера" , "port"); + ДобавитьОписаниеСвойстваОбъекта("ИдПроцессаОС" , "pid"); + ДобавитьОписаниеСвойстваОбъекта("Активен" , "is-enable"); + ДобавитьОписаниеСвойстваОбъекта("Выполняется" , "running"); + ДобавитьОписаниеСвойстваОбъекта("ВремяЗапуска" , "started-at"); + ДобавитьОписаниеСвойстваОбъекта("Использование" , "use"); + ДобавитьОписаниеСвойстваОбъекта("ДоступнаяПроизводительность" , "available-perfomance"); + ДобавитьОписаниеСвойстваОбъекта("Емкость" , "capacity"); + ДобавитьОписаниеСвойстваОбъекта("КоличествоСоединений" , "connections"); + ДобавитьОписаниеСвойстваОбъекта("ЗанятьПамяти" , "memory-size"); + ДобавитьОписаниеСвойстваОбъекта("ВремяПревышенияЗанятойПамяти" , " memory-excess-time"); + ДобавитьОписаниеСвойстваОбъекта("ОбъемВыборки" , "selection-size"); + ДобавитьОписаниеСвойстваОбъекта("ЗатраченоКлиентом" , "avg-back-call-time"); + ДобавитьОписаниеСвойстваОбъекта("ЗатраченоВсего" , "avg-call-time"); + ДобавитьОписаниеСвойстваОбъекта("ЗатраченоСУБД" , "avg-db-call-time"); + ДобавитьОписаниеСвойстваОбъекта("ЗатраченоМенеджеромБлокировок" , "avg-lock-call-time"); + ДобавитьОписаниеСвойстваОбъекта("ЗатраченоСервером" , "avg-server-call-time"); + ДобавитьОписаниеСвойстваОбъекта("КлиентскихПотоков" , "avg-threads"); + +КонецПроцедуры // Параметры_РабочийПроцесс_Свойства() + +// Процедура заполняет общие параметры запуска команд рабочих процессов +// +Процедура Параметры_РабочийПроцесс_Общие() + + ПараметрыЗапуска = Новый Массив(); + + ДобавитьПараметрПоИмени("СтрокаПодключенияАгента"); + + ДобавитьПараметрСтроку("process"); + + ДобавитьПараметрПоШаблону("--cluster=%1", "ИдентификаторКластера"); + ДобавитьПараметрПоИмени("СтрокаАвторизацииКластера"); + +КонецПроцедуры // Параметры_РабочийПроцесс_Общие() + +// Процедура заполняет параметры команды получения списка рабочих процессов +// +Процедура Параметры_РабочийПроцесс_Список() Экспорт + + Параметры_Сервер_Общие(); + + ДобавитьПараметрСтроку("list"); + +КонецПроцедуры // Параметры_РабочийПроцесс_Список() + +// Процедура заполняет параметры команды получения описания рабочего процесса +// +Процедура Параметры_РабочийПроцесс_Описание() Экспорт + + Параметры_Сервер_Общие(); + + ДобавитьПараметрСтроку("info"); + ДобавитьПараметрПоШаблону("--process=%1", "ИдентификаторПроцесса"); + +КонецПроцедуры // Параметры_РабочийПроцесс_Описание() + +#КонецОбласти // РабочиеПроцессы + #Область ИнформационныеБазы // Процедура заполняет массив описаний свойств информационной базы diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\260.os" index 9e9268f..42e2852 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\260.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\260.os" @@ -35,8 +35,6 @@ ПроцедурыЗаполнения = Новый Соответствие(); ПроцедурыЗаполнения.Вставить(ВРег("lock") , "ЗаполнитьПараметрыБлокировки"); ПроцедурыЗаполнения.Вставить(ВРег("Блокировка") , "ЗаполнитьПараметрыБлокировки"); - ПроцедурыЗаполнения.Вставить(ВРег("process") , "ЗаполнитьПараметрыРабочегоПроцесса"); - ПроцедурыЗаполнения.Вставить(ВРег("РабочийПроцесс") , "ЗаполнитьПараметрыРабочегоПроцесса"); ПроцедурыЗаполнения.Вставить(ВРег("service") , "ЗаполнитьПараметрыСервиса"); ПроцедурыЗаполнения.Вставить(ВРег("Сервис") , "ЗаполнитьПараметрыСервиса"); ПроцедурыЗаполнения.Вставить(ВРег("session") , "ЗаполнитьПараметрыСеанса"); @@ -155,33 +153,6 @@ КонецПроцедуры // ЗаполнитьПараметрыБлокировки() -// Процедура заполняет массив описаний параметров рабочего процесса -// -Процедура ЗаполнитьПараметрыРабочегоПроцесса() Экспорт - - ДобавитьПараметрОписанияОбъекта("Ид" , "process"); - ДобавитьПараметрОписанияОбъекта("АдресСервера" , "host"); - ДобавитьПараметрОписанияОбъекта("ПортСервера" , "port"); - ДобавитьПараметрОписанияОбъекта("ИдПроцессаОС" , "pid"); - ДобавитьПараметрОписанияОбъекта("Активен" , "is-enable"); - ДобавитьПараметрОписанияОбъекта("Выполняется" , "running"); - ДобавитьПараметрОписанияОбъекта("ВремяЗапуска" , "started-at"); - ДобавитьПараметрОписанияОбъекта("Использование" , "use"); - ДобавитьПараметрОписанияОбъекта("ДоступнаяПроизводительность" , "available-perfomance"); - ДобавитьПараметрОписанияОбъекта("Емкость" , "capacity"); - ДобавитьПараметрОписанияОбъекта("КоличествоСоединений" , "connections"); - ДобавитьПараметрОписанияОбъекта("ЗанятьПамяти" , "memory-size"); - ДобавитьПараметрОписанияОбъекта("ВремяПревышенияЗанятойПамяти" , " memory-excess-time"); - ДобавитьПараметрОписанияОбъекта("ОбъемВыборки" , "selection-size"); - ДобавитьПараметрОписанияОбъекта("ЗатраченоКлиентом" , "avg-back-call-time"); - ДобавитьПараметрОписанияОбъекта("ЗатраченоВсего" , "avg-call-time"); - ДобавитьПараметрОписанияОбъекта("ЗатраченоСУБД" , "avg-db-call-time"); - ДобавитьПараметрОписанияОбъекта("ЗатраченоМенеджеромБлокировок" , "avg-lock-call-time"); - ДобавитьПараметрОписанияОбъекта("ЗатраченоСервером" , "avg-server-call-time"); - ДобавитьПараметрОписанияОбъекта("КлиентскихПотоков" , "avg-threads"); - -КонецПроцедуры // ЗаполнитьПараметрыРабочегоПроцесса() - // Процедура заполняет массив описаний параметров сервиса // Процедура ЗаполнитьПараметрыСервиса() Экспорт @@ -263,7 +234,7 @@ ДобавитьПараметрОписанияОбъекта("КраткоеПредставление" , "short-presentation"); ДобавитьПараметрОписанияОбъекта("ПолноеПредставление" , "full-presentation"); -КонецПроцедуры // ЗаполнитьПараметрыЛицензииПроцесса() +КонецПроцедуры // ЗаполнитьПараметрыЛицензииОбщие() // Процедура заполняет массив описаний параметров лицензии процесса // diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\271\320\237\321\200\320\276\321\206\320\265\321\201\321\201.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\271\320\237\321\200\320\276\321\206\320\265\321\201\321\201.os" index 82f770f..e6de39e 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\271\320\237\321\200\320\276\321\206\320\265\321\201\321\201.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\260\320\261\320\276\321\207\320\270\320\271\320\237\321\200\320\276\321\206\320\265\321\201\321\201.os" @@ -28,7 +28,7 @@ Возврат; КонецЕсли; - ПараметрыОбъекта = Новый ПараметрыОбъекта("process"); + ПараметрыОбъекта = Новый КомандыОбъекта("process"); Кластер_Агент = АгентКластера; Кластер_Владелец = Кластер; @@ -77,18 +77,21 @@ // Процедура ОбновитьДанныеПроцесса() Экспорт - ПараметрыЗапуска = Новый Массив(); - ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения()); - - ПараметрыЗапуска.Добавить("process"); - ПараметрыЗапуска.Добавить("info"); - - ПараметрыЗапуска.Добавить(СтрШаблон("--process=%1", Процесс_Ид)); + ПараметрыКоманды = Новый Соответствие(); + ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения()); + ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации()); + ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид()); + ПараметрыКоманды.Вставить("ИдентификаторПроцесса" , Ид()); + + ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды); - ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид())); - ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации()); + КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Описание")); - Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска); + Если НЕ КодВозврата = 0 Тогда + ВызватьИсключение СтрШаблон("Ошибка получения описание рабочего процесса, КодВозврата = %1: %2", + КодВозврата, + Кластер_Агент.ВыводКоманды(Ложь)); + КонецЕсли; МассивРезультатов = Кластер_Агент.ВыводКоманды(); @@ -127,7 +130,7 @@ ПараметрыЗапуска.Добавить("--licenses"); - ПараметрыЗапуска.Добавить(СтрШаблон("--process=%1", Процесс_Ид)); + ПараметрыЗапуска.Добавить(СтрШаблон("--process=%1", Ид())); ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид())); ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации()); @@ -149,7 +152,7 @@ // Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт - Возврат ПараметрыОбъекта.Получить(ИмяПоляКлюча); + Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча); КонецФункции // ПараметрыОбъекта() diff --git "a/tests/fixtures/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.os" "b/tests/fixtures/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.os" index a675f75..a49b414 100644 --- "a/tests/fixtures/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.os" +++ "b/tests/fixtures/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.os" @@ -344,39 +344,44 @@ Функция Вывод_РабочиеПроцессыСписок() - ПараметрыЗапуска = Новый Массив(); - ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения()); - - ПараметрыЗапуска.Добавить("process"); - ПараметрыЗапуска.Добавить("list"); - - ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид())); - ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации()); + ПараметрыКоманды = Новый Соответствие(); + ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения()); + ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид()); + ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации()); + + ПараметрыОбъекта = Новый КомандыОбъекта("process", ПараметрыКоманды); ВыводКоманды = ВозвращаемыеЗначения["РабочиеПроцессы"]; - Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды); + Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыОбъекта.ПараметрыКоманды("Список"), ВыводКоманды); КонецФункции // Вывод_РабочиеПроцессыСписок() Функция Вывод_РабочиеПроцессыПараметры() + Результат = Новый Массив(); + Процессы = РазобратьВыводКоманды(ВозвращаемыеЗначения["РабочиеПроцессы"]); - ПараметрыЗапуска = Новый Массив(); - ПараметрыЗапуска.Добавить(Агент_СтрокаПодключения()); + Для Каждого ТекПроцесс Из Процессы Цикл - ПараметрыЗапуска.Добавить("process"); - ПараметрыЗапуска.Добавить("info"); + ПараметрыКоманды = Новый Соответствие(); + ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Агент_СтрокаПодключения()); + ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Ид()); + ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_СтрокаАвторизации()); + ПараметрыКоманды.Вставить("ИдентификаторПроцесса" , ТекПроцесс["process"]); + + ПараметрыОбъекта = Новый КомандыОбъекта("process", ПараметрыКоманды); - ПараметрыЗапуска.Добавить(СтрШаблон("--process=%1", Процессы[0]["process"])); + ВыводКоманды = ТекПроцесс["ТекстОбъекта"]; - ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Ид())); - ПараметрыЗапуска.Добавить(Кластер_СтрокаАвторизации()); + Результат.Добавить(Новый Структура("ПараметрыКоманды, ВыводКоманды", + ПараметрыОбъекта.ПараметрыКоманды("Описание"), + ВыводКоманды)); - ВыводКоманды = Процессы[0]["ТекстОбъекта"]; + КонецЦикла; - Возврат Новый Структура("ПараметрыКоманды, ВыводКоманды", ПараметрыЗапуска, ВыводКоманды); + Возврат Результат; КонецФункции // Вывод_РабочиеПроцессыПараметры()