Вызов хранимой процедуры БД по расписанию (Call stored 1) — различия между версиями
Mikheeva (обсуждение | вклад) (→Скрипт снепшоты) |
Mikheeva (обсуждение | вклад) (→Типовые скрипты) |
||
Строка 140: | Строка 140: | ||
##имя хранимой процедуры БД '''(settings.proc'''): graph.get_time; | ##имя хранимой процедуры БД '''(settings.proc'''): graph.get_time; | ||
##аргументы хранимой процедуры БД (JSON массив) ('''settings.args'''), например: ["76606d62-a514-11e4-8c37-a7064178f246", 0], где первым параметром является идентификатор сервера, на котором выполняется скрипт, а вторым - номер версии, с которой необходимо получать данные (в данном случае 0). | ##аргументы хранимой процедуры БД (JSON массив) ('''settings.args'''), например: ["76606d62-a514-11e4-8c37-a7064178f246", 0], где первым параметром является идентификатор сервера, на котором выполняется скрипт, а вторым - номер версии, с которой необходимо получать данные (в данном случае 0). | ||
+ | |||
+ | При успешном выполнении через указанный интервал времени в параметр '''settings.result''' будет записываться результат в следующем виде: | ||
+ | |||
+ | { | ||
+ | "result": "ok" | ||
+ | } |
Версия 12:54, 4 мая 2018
Управление сервером по расписанию.
Содержание
Построение схемы
Для построения схемы требуется:
1. Добавить триггер EgsScheduled.
- Для этого необходимо:
- 1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент EgsScheduled.
- 2. Дважды нажать на выбранный элемент, после чего появится окно для добавления элемента.
- 3. Нажать кнопку "Добавить". Элемент появится на рабочей области.
- Также все элементы можно добавлять путем захвата и перетаскивания на рабочую область левой кнопкой мыши.
2. Аналогично пункту 1 добавить элементы EgsModule, менеджер AcuarioManager и компьютер Computer.
3. Настроить сетевой адрес компьютера.
Для этого необходимо выделить на схеме элемент Computer и нажать на кнопку вызова свойств элемента.
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
4. Связать EgsScheduled и Egs Модуль, подключив пины «Egs вход: EgsInput» у EgsScheduled и «Egs выход: EgsOutput» у Egs Модуля.
5. Привязать пин "Привязка к менеджеру: ManagingContent" из Egs Модуля к пину "Привязка к менеджеру: ManagingContainer" из Менеджера устройств.
6. Подключить пин "ПО: SoftwareContent" из Менеджера устройств с пином "Установленное ПО: SoftwareContainer" из Компьютера.
7. Настроить следующие параметры триггера:
- текст скрипта (script)
http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Call%20stored%201.put&path=0/params/script/value;
- тип (typedef)
http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Call%20stored%201.put&path=0/params/typedef/value;
- единица измерения (period_unit), например: секунда;
- интервал в единицах измерения (period_count), например: 1;
- точное время внутри интервала (period_time), например: 00:00:00, 14:30:00;
- повторять через интервал или выполнить один раз в указанное время (repeat), например: 0 (бесконечно), 1 (один раз), 100;
- задействовать триггер (enabled), например: true;
- в настройках:
- имя хранимой процедуры БД (settings.proc), например: graph.get_runtime_changes_limit;
- аргументы хранимой процедуры БД (JSON массив) (settings.args), например: ["69557f3a-6060-4ba9-935c-8b0c54b611b8", 0, 10].
Настройку параметров триггера можно выполнить, открыв свойства элемента.
Проверка
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Call%20stored%201.put&path=0/params/hash/value
Хэш-сумма будет совпадать только в том случае, если скрипт не был изменен.
Пример работы
Для построения схемы необходимо:
1. Создать схему по выше описанному алгоритму.
3. Настроить параметр "Сетевой адрес" компьютера.
4. Настроить следующие параметры триггера:
- единица измерения (period_unit): час;
- интервал в единицах измерения (period_count): 1;
- повторять через интервал или выполнить один раз в указанное время (repeat): 0;
- задействовать триггер (enabled): true;
- в настройках:
- имя хранимой процедуры БД (settings.proc), например: graph.get_time;
- аргументы хранимой процедуры БД (JSON массив) (settings.args), например: ["76606d62-a514-11e4-8c37-a7064178f246", 0];
Результат:
После сохранения параметров триггера раз в час в параметр Результат (settings.result) будет записываться результат вызова хранимой процедуры БД. В данном случае при успешном выполнении будет установлено следующее:
{ "result": "ok" }
Дополнения
1. В пункте 1 раздела Построение схемы добавление триггера EgsScheduled можно осуществить по ссылке.
- 1. Импортировать скрипт по следующей ссылке:
http://maps.integra-s.com/resources/typedef2017/egs/Call%20stored%201.put.
- 2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
3. В открывшемся окне выбрать импортированный скрипт "Call stored 1.put".
- Элемент появится на рабочей области.
2. В пункте 7 раздела Построение схемы редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".
Настройку параметров триггера также можно выполнить, нажав правой кнопкой мыши по элементу EgsScheduled и в контекстном меню выбрав пункт "Редактировать параметры".
- После этого откроется окно для редактирования параметров.
Типовые скрипты
Скрипт снепшоты
Выполнение снепшотов через указанный интервал времени.
Настройка
Текст скрипта и тип аналогичен пункту 7 раздела Построение схемы.
Остальные параметры настроены следующим образом:
- единица измерения (period_unit), например: час;
- интервал в единицах измерения (period_count), например: 1;
- повторять через интервал или выполнить один раз в указанное время (repeat), например: 0 (бесконечно), 1 (один раз), 100;
- задействовать триггер (enabled), например: true;
- в настройках:
- имя хранимой процедуры БД (settings.proc): graph.get_time;
- аргументы хранимой процедуры БД (JSON массив) (settings.args), например: ["76606d62-a514-11e4-8c37-a7064178f246", 0], где первым параметром является идентификатор сервера, на котором выполняется скрипт, а вторым - номер версии, с которой необходимо получать данные (в данном случае 0).
При успешном выполнении через указанный интервал времени в параметр settings.result будет записываться результат в следующем виде:
{
"result": "ok"
}