Skip to content
Интерфейсная библиотека (oscript) к утилите администрирования кластера серверов 1С (rac).
1C Enterprise Shell
Branch: master
Clone or download
Pull request Compare This branch is 17 commits behind arkuznetsov:master.
AKuznetsov AKuznetsov
AKuznetsov and AKuznetsov Merge branch 'develop'
Latest commit a8a391f Oct 1, 2018

readme.md

Библиотека управления кластером 1С

Build Status Quality Gate Coverage Tech debt

Назначение

Библиотека (oscript) irac предоставляет интерфейс управления кластером серверов 1С:Предприятие 8 с использованием утилиты администрирования кластера (RAC).

Принцип работы

Библиотека подключается, как отдельный класс и используется для вызова команд утилиты RAC для взаимодействия с одним экземпляром сервера администрирования кластера 1С.

#Использовать irac
Админка = Новый АдминистрированиеКластера("localhost", 1545, "8.3");

Кластеры = Админка.Кластеры();

// Обходим список кластеров
Для Каждого Кластер Из Кластеры.Список() Цикл
    Сообщить(Кластер.Получить("Имя"));
КонецЦикла;

// Кластер.УстановитьАдминистратора("<admin>", "<pwd>"); // - указывается если задан администратор кластера

Серверы = Кластер.Серверы();

// Обходим список серверов
Для Каждого Сервер Из Серверы.Список() Цикл

    Сообщить(Сервер.Имя() + " (" + Сервер.АдресСервера() + ":" + Сервер.ПортСервера() + ")");

    Для Каждого ТекАтрибут Из Серверы.ПараметрыОбъекта() Цикл
        Сообщить(ТекАтрибут.Ключ + " : " + Сервер.Получить(ТекАтрибут.Значение.ИмяПараметра));
    КонецЦикла;

КонецЦикла;

ИБ = Кластер.ИнформационныеБазы();

Сообщить("Всего ИБ: " + ИБ.Список().Количество());

// Обходим список информационных баз
Для Каждого ТекИБ Из ИБ.Список() Цикл

    Сообщить(ТекИБ.Имя() + " (" + ?(ТекИБ.ПолноеОписание(), "Полное", "Сокращенное") + " " + ТекИБ.Описание() + ")");

    Для Каждого ТекАтрибут Из ИБ.ПараметрыОбъекта() Цикл
        Сообщить(ТекАтрибут.Ключ + " : " + ТекИБ.Получить(ТекАтрибут.Значение.ИмяПараметра));
    КонецЦикла;

КонецЦикла;

Структура основных объектов

АдминистрированиеКластера

|-Администраторы
|-Кластеры
|   |-Администраторы
|   |-МенеджерыКластера
|   |-Серверы
|   |   |-ТребованияНазначения
|   |-РабочиеПроцессы
|   |   |-Лицензии
|   |-ИнформационныеБазы
|   |-Сервисы
|   |-Сеансы
|   |-Соединения
|   |   |-Лицензии
|   |-Блокировки
|   |-ПрофилиБезопасности

Объекты и методы

АдминистрированиеКластера

Основной класс библиотеки. Предоставляет интерфейс управления серверами 1С.

    АдминистрированиеКластера = Новый АдминистрированиеКластера("localhost", 1545, "8.3.10", "admin", "P@ssw0rd");
Параметры конструктора
АдресСервера Строка имя сервера агента администрирования (RAS)
ПортСервера Число порт сервера агента администрирования (RAS)
ВерсияИлиПутьКРАК Строка маска версии 1С или путь к утилите RAC
Администратор Строка администратор агента сервера 1С
ПарольАдминистратора Строка пароль администратора агента сервера 1С
Методы
СтрокаПодключения() Строка возвращает строку параметров подключения к агенту администрирования (RAS)
СтрокаАвторизации() Строка возвращает строку параметров авторизации на агенте кластера 1С
УстановитьАдминистратора(Администратор, Пароль) устанавливает параметры авторизации на агенте кластера 1С
ИсполнительКоманд() ИсполнительКоманд возвращает текущий объект-исполнитель команд
УстановитьИсполнительКоманд(НовыйИсполнитель) устанавливает объект-исполнитель команд
ОписаниеПодключения() Строка возвращает строку описания подключения к серверу администрирования кластера 1С
Администраторы() АдминистраторыАгента возвращает список администраторов агента кластера 1С
Кластеры() Кластеры возвращает список кластеров 1С
ВыполнитьКоманду(ПараметрыКоманды) Число передает команду в объект-исполнитель команды и возвращает код возврата команды
ВыводКоманды() Массив(Соответствие) возвращает вывод команды из объекта-исполнитель команд

ИсполнительКоманд

Вспомогательный объект для выполнения команд. Непосредственно вызывает утилиту RAC.

    АдминистрированиеКластера = Новый АдминистрированиеКластера("localhost", 1545, "8.3.10", "admin", "P@ssw0rd");
    АдминистрированиеКластера.УстановитьИсполнительКоманд(Новый ИсполнительКоманд("8.3"));
Параметры конструктора
ВерсияИлиПутьКРАК Строка маска версии 1С или путь к утилите RAC
Методы
ВерсияУтилитыАдминистрирования() Строка возвращает версию утилиты RAC
ПутьКУтилитеАдминистрирования() Строка возвращает путь к утилите RAC
УстановитьПутьКУтилитеАдминистрирования(Путь) устанавливает переданный путь к утилите RAC
ВыполнитьКоманду(ПараметрыКоманды) Массив(Соответствие) выполняет команду и возвращает код возврата
ВыводКоманды(РазобратьВывод) Строка/Массив(Соответствие) возвращает вывод команды
КодВозврата() Число возвращает код возврата выполнения команды

Кластеры

Объект предоставляет доступ к списку кластеров, доступных для администрирования.

    АдминистрированиеКластера = Новый АдминистрированиеКластера("localhost", 1545, "8.3.10", "admin", "P@ssw0rd");
    СписокКластеров = Новый Кластеры(АдминистрированиеКластера);
    АдминистрированиеКластера = Новый АдминистрированиеКластера("localhost", 1545, "8.3.10", "admin", "P@ssw0rd");
    СписокКластеров = АдминистрированиеКластера.Кластеры();
Параметры конструктора
АгентКластера АдминистрированиеКластера ссылка на родительский объект агент кластера
Методы
ОбновитьДанные(ОбновитьПринудительно) обновляет список кластеров вызывая утилиту RAC
ПараметрыОбъекта(ИмяПоляКлюча) Соответствие список возможных параметров кластера
Список(Отбор, ОбновитьПринудительно) возвращает список кластеров, соответствующих отбору
ВыполнитьКоманду(ПараметрыКоманды) Массив(Соответствие) выполняет команду и возвращает код возврата
ВыводКоманды(РазобратьВывод) Строка/Массив(Соответствие) возвращает вывод команды
КодВозврата() Число возвращает код возврата выполнения команды
You can’t perform that action at this time.