Skip to content

Commit

Permalink
Рефакторинг получения параметров команд рабочих процессов
Browse files Browse the repository at this point in the history
  • Loading branch information
AKuznetsov authored and AKuznetsov committed Jun 14, 2018
1 parent a1bd9d6 commit 13a293d
Show file tree
Hide file tree
Showing 5 changed files with 121 additions and 71 deletions.
24 changes: 14 additions & 10 deletions src/Классы/КластерРабочиеПроцессы.os
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
Кластер_Агент = АгентКластера;
Кластер_Владелец = Кластер;

ПараметрыОбъекта = Новый ПараметрыОбъекта("process");
ПараметрыОбъекта = Новый КомандыОбъекта("process");

Элементы = Новый ОбъектыКластера(ЭтотОбъект);

Expand All @@ -36,16 +36,20 @@
Возврат;
КонецЕсли;

ПараметрыЗапуска = Новый Массив();
ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());

ПараметрыЗапуска.Добавить("process");
ПараметрыЗапуска.Добавить("list");
ПараметрыКоманды = Новый Соответствие();
ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());

ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);

ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Список"));

Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
Если НЕ КодВозврата = 0 Тогда
ВызватьИсключение СтрШаблон("Ошибка получения списка рабочих процессов, КодВозврата = %1: %2",
КодВозврата,
Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;

МассивРезультатов = Кластер_Агент.ВыводКоманды();

Expand All @@ -71,7 +75,7 @@
//
Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт

Возврат ПараметрыОбъекта.Получить(ИмяПоляКлюча);
Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);

КонецФункции // ПараметрыОбъекта()

Expand Down
67 changes: 67 additions & 0 deletions src/Классы/КомандыОбъекта.os
Original file line number Diff line number Diff line change
Expand Up @@ -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", "ИдентификаторПроцесса");

КонецПроцедуры // Параметры_РабочийПроцесс_Описание()

#КонецОбласти // РабочиеПроцессы

#Область ИнформационныеБазы

// Процедура заполняет массив описаний свойств информационной базы
Expand Down
31 changes: 1 addition & 30 deletions src/Классы/ПараметрыОбъекта.os
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,6 @@
ПроцедурыЗаполнения = Новый Соответствие();
ПроцедурыЗаполнения.Вставить(ВРег("lock") , "ЗаполнитьПараметрыБлокировки");
ПроцедурыЗаполнения.Вставить(ВРег("Блокировка") , "ЗаполнитьПараметрыБлокировки");
ПроцедурыЗаполнения.Вставить(ВРег("process") , "ЗаполнитьПараметрыРабочегоПроцесса");
ПроцедурыЗаполнения.Вставить(ВРег("РабочийПроцесс") , "ЗаполнитьПараметрыРабочегоПроцесса");
ПроцедурыЗаполнения.Вставить(ВРег("service") , "ЗаполнитьПараметрыСервиса");
ПроцедурыЗаполнения.Вставить(ВРег("Сервис") , "ЗаполнитьПараметрыСервиса");
ПроцедурыЗаполнения.Вставить(ВРег("session") , "ЗаполнитьПараметрыСеанса");
Expand Down Expand Up @@ -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");

КонецПроцедуры // ЗаполнитьПараметрыРабочегоПроцесса()

// Процедура заполняет массив описаний параметров сервиса
//
Процедура ЗаполнитьПараметрыСервиса() Экспорт
Expand Down Expand Up @@ -263,7 +234,7 @@
ДобавитьПараметрОписанияОбъекта("КраткоеПредставление" , "short-presentation");
ДобавитьПараметрОписанияОбъекта("ПолноеПредставление" , "full-presentation");

КонецПроцедуры // ЗаполнитьПараметрыЛицензииПроцесса()
КонецПроцедуры // ЗаполнитьПараметрыЛицензииОбщие()

// Процедура заполняет массив описаний параметров лицензии процесса
//
Expand Down
29 changes: 16 additions & 13 deletions src/Классы/РабочийПроцесс.os
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
Возврат;
КонецЕсли;

ПараметрыОбъекта = Новый ПараметрыОбъекта("process");
ПараметрыОбъекта = Новый КомандыОбъекта("process");

Кластер_Агент = АгентКластера;
Кластер_Владелец = Кластер;
Expand Down Expand Up @@ -77,18 +77,21 @@
//
Процедура ОбновитьДанныеПроцесса() Экспорт

ПараметрыЗапуска = Новый Массив();
ПараметрыЗапуска.Добавить(Кластер_Агент.СтрокаПодключения());

ПараметрыЗапуска.Добавить("process");
ПараметрыЗапуска.Добавить("info");

ПараметрыЗапуска.Добавить(СтрШаблон("--process=%1", Процесс_Ид));
ПараметрыКоманды = Новый Соответствие();
ПараметрыКоманды.Вставить("СтрокаПодключенияАгента" , Кластер_Агент.СтрокаПодключения());
ПараметрыКоманды.Вставить("СтрокаАвторизацииКластера", Кластер_Владелец.СтрокаАвторизации());
ПараметрыКоманды.Вставить("ИдентификаторКластера" , Кластер_Владелец.Ид());
ПараметрыКоманды.Вставить("ИдентификаторПроцесса" , Ид());
ПараметрыОбъекта.УстановитьЗначенияПараметровКоманд(ПараметрыКоманды);

ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
КодВозврата = Кластер_Агент.ВыполнитьКоманду(ПараметрыОбъекта.ПараметрыКоманды("Описание"));

Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);
Если НЕ КодВозврата = 0 Тогда
ВызватьИсключение СтрШаблон("Ошибка получения описание рабочего процесса, КодВозврата = %1: %2",
КодВозврата,
Кластер_Агент.ВыводКоманды(Ложь));
КонецЕсли;

МассивРезультатов = Кластер_Агент.ВыводКоманды();

Expand Down Expand Up @@ -127,7 +130,7 @@

ПараметрыЗапуска.Добавить("--licenses");

ПараметрыЗапуска.Добавить(СтрШаблон("--process=%1", Процесс_Ид));
ПараметрыЗапуска.Добавить(СтрШаблон("--process=%1", Ид()));

ПараметрыЗапуска.Добавить(СтрШаблон("--cluster=%1", Кластер_Владелец.Ид()));
ПараметрыЗапуска.Добавить(Кластер_Владелец.СтрокаАвторизации());
Expand All @@ -149,7 +152,7 @@
//
Функция ПараметрыОбъекта(ИмяПоляКлюча = "ИмяПараметра") Экспорт

Возврат ПараметрыОбъекта.Получить(ИмяПоляКлюча);
Возврат ПараметрыОбъекта.ОписаниеСвойств(ИмяПоляКлюча);

КонецФункции // ПараметрыОбъекта()

Expand Down
Loading

0 comments on commit 13a293d

Please sign in to comment.