Вызов хранимой процедуры БД по расписанию (Call stored 1) — различия между версиями
Mikheeva (обсуждение | вклад) |
Mikheeva (обсуждение | вклад) (→Построение схемы) |
||
Строка 38: | Строка 38: | ||
[[File:CallStored_2.PNG|центр|1000px]] | [[File:CallStored_2.PNG|центр|1000px]] | ||
− | + | 5. Привязать пин "'''Привязка к менеджеру: ManagingContent'''" из '''Egs Модуля''' к пину "'''Привязка к менеджеру: ManagingContainer'''" из '''Менеджера устройств'''. | |
[[File:Scheduled_com_9.PNG|центр|1000px]] | [[File:Scheduled_com_9.PNG|центр|1000px]] | ||
− | + | 6. Подключить пин "'''ПО: SoftwareContent'''" из '''Менеджера устройств''' с пином "'''Установленное ПО: SoftwareContainer'''" из '''Компьютера'''. | |
[[File:CallStored_3.PNG|центр|1000px]] | [[File:CallStored_3.PNG|центр|1000px]] | ||
− | + | 7. Настроить следующие параметры триггера: | |
− | '' | + | #текст скрипта ('''script''') <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Call%20stored%201.put&path=0/params/script/value;</code> |
+ | #тип ('''typedef''') <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Call%20stored%201.put&path=0/params/typedef/value;</code> | ||
+ | #единица измерения ('''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]; | ||
− | + | Настройку параметров триггера также можно выполнить, нажав правой кнопкой мыши по элементу EgsScheduled и в контекстном меню выбрав пункт "Редактировать параметры". | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[File:CallStored_4.png|центр]] | [[File:CallStored_4.png|центр]] |
Версия 10:40, 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];
Настройку параметров триггера также можно выполнить, нажав правой кнопкой мыши по элементу EgsScheduled и в контекстном меню выбрав пункт "Редактировать параметры".
После этого откроется окно для редактирования параметров.
Также это можно выполнить, открыв свойства элемента.
Проверка
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке 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. Импортировать скрипт по следующей ссылке: http://maps.integra-s.com/resources/typedef2017/egs/Call%20stored%201.put.
2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
3. В открывшемся окне выбрать импортированный скрипт "Call stored 1.put".
Элемент появится на рабочей области.