Вызов хранимой процедуры БД по расписанию (Call stored 1) — различия между версиями

Материал из Integra-S Wiki
Перейти к: навигация, поиск
(Настройка)
(Проверка)
 
(не показано 17 промежуточных версий этого же участника)
Строка 1: Строка 1:
Управление сервером по расписанию.
+
Управление сервером по расписанию. Скрипт работает с одной локальной базой интеграции.
  
 
==Построение схемы==
 
==Построение схемы==
Строка 22: Строка 22:
 
:''Также все элементы можно добавлять путем захвата и перетаскивания на рабочую область левой кнопкой мыши.''
 
:''Также все элементы можно добавлять путем захвата и перетаскивания на рабочую область левой кнопкой мыши.''
  
2. Аналогично пункту 1 добавить элементы '''EgsModule''',  менеджер '''AcuarioManager''' и компьютер '''Computer'''.
+
2. Аналогично пункту 1 добавить элементы Egs Модуль '''EgsModule''',  менеджер '''AcuarioManager''' и компьютер '''Computer'''.
  
 
[[File:Scheduled_com_6.PNG|центр|1000px]]
 
[[File:Scheduled_com_6.PNG|центр|1000px]]
Строка 28: Строка 28:
 
3. Настроить сетевой адрес компьютера.  
 
3. Настроить сетевой адрес компьютера.  
  
Для этого  необходимо выделить на схеме элемент '''Computer''' и нажать на кнопку вызова свойств элемента.  
+
Для этого  необходимо выделить на схеме компьютер и нажать на кнопку вызова свойств элемента.  
  
 
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
 
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
Строка 38: Строка 38:
 
[[File:CallStored_2.PNG|центр|1000px]]
 
[[File:CallStored_2.PNG|центр|1000px]]
  
5. Привязать пин "'''Привязка к менеджеру: ManagingContent'''" из '''Egs Модуля''' к пину "'''Привязка к менеджеру: ManagingContainer'''" из '''Менеджера устройств'''.
+
5. Привязать пин "'''Привязка к менеджеру: ManagingContent'''" из '''Egs Модуля''' к пину "'''Менеджер устройств: ManagingContainer'''" из '''Менеджера устройств'''.
  
 
[[File:Scheduled_com_9.PNG|центр|1000px]]
 
[[File:Scheduled_com_9.PNG|центр|1000px]]
Строка 48: Строка 48:
 
7. Настроить следующие параметры триггера:
 
7. Настроить следующие параметры триггера:
  
#текст скрипта ('''script''') <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Call%20stored%201.put&path=0/params/script/value;</code>
+
#текст скрипта ('''script''') <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Call%20stored%202.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_unit'''), например: секунда;
 
#интервал в единицах измерения ('''period_count'''), например: 1;
 
#интервал в единицах измерения ('''period_count'''), например: 1;
Строка 57: Строка 56:
 
#в настройках:
 
#в настройках:
 
##имя хранимой процедуры БД ('''settings.proc'''), например: graph.get_runtime_changes_limit;
 
##имя хранимой процедуры БД ('''settings.proc'''), например: graph.get_runtime_changes_limit;
##аргументы хранимой процедуры БД (JSON массив) ('''settings.args'''), например: ["69557f3a-6060-4ba9-935c-8b0c54b611b8", 0, 10];
+
##аргументы хранимой процедуры БД (JSON массив) ('''settings.args'''), например: ["69557f3a-6060-4ba9-935c-8b0c54b611b8", 0, 10].
  
 
Настройку параметров триггера можно выполнить, открыв свойства элемента.
 
Настройку параметров триггера можно выполнить, открыв свойства элемента.
Строка 64: Строка 63:
  
 
==Проверка==
 
==Проверка==
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Call%20stored%201.put&path=0/params/hash/value</code>
+
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Call%20stored%202.put&path=0/params/hash/value</code>
  
''Хэш-сумма будет совпадать только в том случае, если скрипт не был изменен.''
+
''Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.''
  
 
==Пример работы==
 
==Пример работы==
Строка 98: Строка 97:
 
1. В пункте 1 раздела [[Вызов_хранимой_процедуры_БД_по_расписанию_(Call_stored_1)#Построение_схемы|Построение схемы]] добавление триггера '''EgsScheduled''' можно осуществить по ссылке.
 
1. В пункте 1 раздела [[Вызов_хранимой_процедуры_БД_по_расписанию_(Call_stored_1)#Построение_схемы|Построение схемы]] добавление триггера '''EgsScheduled''' можно осуществить по ссылке.
  
:1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com/resources/typedef2017/egs/Call%20stored%201.put.</code>
+
:1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com:5434/resources/typedef2017/egs/Call%20stored%202.put.</code>
 
:2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
 
:2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
  
Строка 120: Строка 119:
  
 
[[File:CallStored_5.PNG|центр|1000px]]
 
[[File:CallStored_5.PNG|центр|1000px]]
 
==Типовые скрипты==
 
 
===Скрипт снепшоты===
 
 
Выполнение снепшотов раз в час
 
 
'''Настройка'''
 
 
Текст скрипта и тип аналогичен пункту 7 раздела [[Вызов_хранимой_процедуры_БД_по_расписанию_(Call_stored_1)#Построение_схемы|Построение схемы]].
 
 
Остальные параметры настроены следующим образом:
 
 
#единица измерения (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];
 

Текущая версия на 11:47, 21 мая 2019

Управление сервером по расписанию. Скрипт работает с одной локальной базой интеграции.

Построение схемы

Для построения схемы требуется:

1. Добавить триггер EgsScheduled.

Для этого необходимо:
1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент EgsScheduled.
Scheduled com 4.png
2. Дважды нажать на выбранный элемент, после чего появится окно для добавления элемента.
Scheduled com 5.png
3. Нажать кнопку "Добавить". Элемент появится на рабочей области.
Scheduled com 3.png
Также все элементы можно добавлять путем захвата и перетаскивания на рабочую область левой кнопкой мыши.

2. Аналогично пункту 1 добавить элементы Egs Модуль EgsModule, менеджер AcuarioManager и компьютер Computer.

Scheduled com 6.PNG

3. Настроить сетевой адрес компьютера.

Для этого необходимо выделить на схеме компьютер и нажать на кнопку вызова свойств элемента.

В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".

Scheduled com 7.PNG

4. Связать EgsScheduled и Egs Модуль, подключив пины «Egs вход: EgsInput» у EgsScheduled и «Egs выход: EgsOutput» у Egs Модуля.

CallStored 2.PNG

5. Привязать пин "Привязка к менеджеру: ManagingContent" из Egs Модуля к пину "Менеджер устройств: ManagingContainer" из Менеджера устройств.

Scheduled com 9.PNG

6. Подключить пин "ПО: SoftwareContent" из Менеджера устройств с пином "Установленное ПО: SoftwareContainer" из Компьютера.

CallStored 3.PNG

7. Настроить следующие параметры триггера:

  1. текст скрипта (script) http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Call%20stored%202.put&path=0/params/script/value;
  2. единица измерения (period_unit), например: секунда;
  3. интервал в единицах измерения (period_count), например: 1;
  4. точное время внутри интервала (period_time), например: 00:00:00, 14:30:00;
  5. повторять через интервал или выполнить один раз в указанное время (repeat), например: 0 (бесконечно), 1 (один раз), 100;
  6. задействовать триггер (enabled), например: true;
  7. в настройках:
    1. имя хранимой процедуры БД (settings.proc), например: graph.get_runtime_changes_limit;
    2. аргументы хранимой процедуры БД (JSON массив) (settings.args), например: ["69557f3a-6060-4ba9-935c-8b0c54b611b8", 0, 10].

Настройку параметров триггера можно выполнить, открыв свойства элемента.

CallStored 6.PNG

Проверка

После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Call%20stored%202.put&path=0/params/hash/value

Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.

Пример работы

Для построения схемы необходимо:

1. Создать схему по выше описанному алгоритму.

CallStored 3.PNG

3. Настроить параметр "Сетевой адрес" компьютера.

4. Настроить следующие параметры триггера:

  1. единица измерения (period_unit): час;
  2. интервал в единицах измерения (period_count): 1;
  3. повторять через интервал или выполнить один раз в указанное время (repeat): 0;
  4. задействовать триггер (enabled): true;
  5. в настройках:
    1. имя хранимой процедуры БД (settings.proc), например: graph.get_time;
    2. аргументы хранимой процедуры БД (JSON массив) (settings.args), например: ["76606d62-a514-11e4-8c37-a7064178f246", 0];

Результат:

После сохранения параметров триггера раз в час в параметр Результат (settings.result) будет записываться результат вызова хранимой процедуры БД. В данном случае при успешном выполнении будет установлено следующее:

{
 "result": "ok"
}

Дополнения

1. В пункте 1 раздела Построение схемы добавление триггера EgsScheduled можно осуществить по ссылке.

1. Импортировать скрипт по следующей ссылке: http://maps.integra-s.com:5434/resources/typedef2017/egs/Call%20stored%202.put.
2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
Scheduled com 1.png

3. В открывшемся окне выбрать импортированный скрипт "Call stored 1.put".

CallStored 1.PNG
Элемент появится на рабочей области.
Scheduled com 3.png

2. В пункте 7 раздела Построение схемы редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".

Настройку параметров триггера также можно выполнить, нажав правой кнопкой мыши по элементу EgsScheduled и в контекстном меню выбрав пункт "Редактировать параметры".

CallStored 4.png
После этого откроется окно для редактирования параметров.
CallStored 5.PNG