Удаление устаревших объектов (Outdated remover 1) — различия между версиями

Материал из Integra-S Wiki
Перейти к: навигация, поиск
(Новая страница: «Удаление долго не обновляющихся объектов. ==Настройка== ===Добавления триггера EgsScheduled=== Т…»)
 
(Проверка)
 
(не показаны 34 промежуточные версии этого же участника)
Строка 1: Строка 1:
Удаление долго не обновляющихся объектов.
+
Удаление долго не обновляющихся объектов. Скрипт работает с одной локальной базой интеграции.
  
==Настройка==
+
==Построение схемы==
===Добавления триггера EgsScheduled===
+
Для построения схемы требуется:
  
Триггер EgsScheduled можно добавить двумя способами:
+
1. Добавить триггер '''EgsScheduled'''.
  
====Добавление триггера EgsScheduled по ссылке====
+
:Для этого необходимо:
  
Для добавления скрипта необходимо:
+
:1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент '''EgsScheduled'''.
 
 
1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com/resources/typedef2017/egs/Outdated%20remover%201.put.</code>
 
 
 
2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
 
 
 
[[File:Scheduled_com_1.png|центр|1000px]]
 
 
 
3. В открывшемся окне выбрать импортированный скрипт "Maintennance and verification 1.put".
 
 
 
[[File:MaintenanceVerification_com_1.PNG|центр|1000px]]
 
 
 
Элемент появится на рабочей области.
 
 
 
[[File:Scheduled_com_3.png|центр|1000px]]
 
 
 
====Добавление триггера вручную====
 
 
 
Для того чтобы добавить триггер вручную, необходимо:
 
 
 
1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент "EgsScheduled".
 
  
 
[[File:Scheduled_com_4.png|центр]]
 
[[File:Scheduled_com_4.png|центр]]
  
2. Дважды нажать на выбранный элемент.
+
:2. Дважды нажать на выбранный элемент, после чего появится окно для добавления элемента.  
 
 
После этого появится окно для добавления элемента.  
 
  
 
[[File:Scheduled_com_5.png|центр]]
 
[[File:Scheduled_com_5.png|центр]]
  
3. Нажать кнопку "Добавить".  
+
:3. Нажать кнопку "Добавить". Элемент появится на рабочей области.
  
Также все элементы можно добавлять путем захвата и перетаскивания на рабочую область левой кнопкой мыши.
+
[[File:Scheduled_com_3.png|центр|1000px]]
  
===Построение схемы===
+
:''Также все элементы можно добавлять путем захвата и перетаскивания на рабочую область левой кнопкой мыши.''
  
Для дальнейшего построения схемы необходимо:
+
2. Аналогично пункту 1 добавить элементы Egs Модуль '''EgsModule''',  менеджер '''AcuarioManager''' и компьютер '''Computer'''.
 
 
1. Добавить элемент EgsModule,  менеджер AcuarioManager и компьютер Computer.
 
  
 
[[File:Scheduled_com_6.PNG|центр|1000px]]
 
[[File:Scheduled_com_6.PNG|центр|1000px]]
  
2. Настроить сетевой адрес компьютера.  
+
3. Настроить сетевой адрес компьютера.  
  
Для этого  необходимо выделить на схеме элемент Computer и нажать на кнопку вызова свойств элемента.  
+
Для этого  необходимо выделить на схеме компьютер и нажать на кнопку вызова свойств элемента.  
  
 
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
 
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
Строка 58: Строка 34:
 
[[File:Scheduled_com_7.PNG|центр|1000px]]
 
[[File:Scheduled_com_7.PNG|центр|1000px]]
  
3. Связать EgsScheduled и Egs Модуль, подключив пины «Egs вход: EgsInput» у EgsScheduled и  «Egs выход: EgsOutput» у Egs Модуля.
+
4. Связать '''EgsScheduled''' и '''EgsМодуль''', подключив пины «'''Egs вход: EgsInput'''» у '''EgsScheduled''' и  «'''Egs выход: EgsOutput'''» у '''EgsМодуля'''.
  
[[File:MaintenanceVerification_com_2.PNG|центр|1000px]]
+
[[File:OutdatedRemover_2.PNG|центр|1000px]]
  
4. Привязать пин "Привязка к менеджеру: ManagingContent" из Egs Модуля к пину "Привязка к менеджеру: ManagingContainer" из Менеджера устройств.
+
5. Привязать пин "'''Привязка к менеджеру: ManagingContent'''" из '''EgsМодуля''' к пину "'''Менеджер устройств: ManagingContainer'''" из '''Менеджера устройств.
 +
'''
 +
[[File:Scheduled_com_9.PNG|центр|1000px]]
 +
 
 +
6. Подключить пин "'''ПО: SoftwareContent'''" из '''Менеджера устройств''' с пином "'''Установленное ПО: SoftwareContainer'''" из '''Компьютера'''.
  
[[File:Scheduled_com_9.PNG|центр|1000px]]
+
[[File:OutdatedRemover_3.PNG|центр|1000px]]
  
5. Подключить пин "ПО: SoftwareContent" из Менеджера устройств с пином "Установленное ПО: SoftwareContainer" из Компьютера.
+
7. Настроить следующие параметры триггера:
  
[[File:MaintenanceVerification_com_3.PNG|центр|1000px]]
+
#текст скрипта ('''script''')'' <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Outdated%20remover%202.put&path=0/params/script/value;</code>
 +
#единица измерения ('''period_unit'''), например: секунда;
 +
#интервал в единицах измерения ('''period_count'''), например: 1;
 +
#точное время внутри интервала ('''period_time'''), например: 00:00:00, 14:30:00;
 +
#повторять через интервал или выполнить один раз в указанное время ('''repeat'''), например: 0 (бесконечно), 1 (один раз), 100;
 +
#включить триггер ('''enabled'''), например: true;
 +
#в настройках:''
 +
##имя типа контролируемого объекта ('''types'''), например: Human;
 +
##интервал, в течении которого объект должен обновиться ('''timeout'''), например:  24:00:00.
  
6. Настроить следующие параметры триггера:
+
Настройку параметров триггера можно выполнить, открыв свойства элемента.
  
# единица измерения (period_unit), например: секунда;
+
[[File:OutdatedRemover_6.PNG|центр]]
# интервал в единицах измерения (period_count), например: 1;
 
# точное время внутри интервала (period_time), например: 00:00:00, 14:30:00;
 
# повторять через интервал или выполнить один раз в указанное время (repeat), например: 0 (бесконечно), 1 (один раз), 100;
 
# включить триггер (enabled), например: true;
 
# в настройках:
 
##список масок имен типов для отправки команды (types), например: BOLID_*;
 
##список идентификаторов объектов для отправки команды (guids), например: 18a61354-9d51-4506-be41-538b235cef3d;
 
##команда (command), например: activate.  
 
  
 +
==Проверка==
 +
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Outdated%20remover%202.put&path=0/params/hash/value</code>
  
''Замечание:''
+
''Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.''
  
''Если скрипт не был импортирован, то для триггера необходимо настроить параметры:''
+
==Алгоритм работы==
  
#''текст скрипта (script)'' <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Maintenance%20and%20verification%201.put&path=0/params/script/value;</code>
+
#Выбираются объекты типа '''settings.types'''.
#''тип (typedef) '' <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Maintenance%20and%20verification%201.put&path=0/params/typedef/value.</code>
+
#Из них выбираются такие, у которых время последнего изменения плюс '''settings.timeout''' больше текущего времени.
#''единица измерения (period_unit), например: секунда;''
+
#Выбранным объектам проставляется флаг удаления.
#''интервал в единицах измерения (period_count), например: 1;''
 
#''точное время внутри интервала (period_time), например: 00:00:00, 14:30:00;''
 
#''повторять через интервал или выполнить один раз в указанное время (repeat), например: 0 (бесконечно), 1 (один раз), 100;''
 
#''включить триггер (enabled), например: true;''
 
#''в настройках:''
 
##''список масок имен типов (settings.types), например: sibintekOpcItem, BOLID_*;''
 
##''флаг включения алгоритма для тех. осмотров (settings.maintenance), например: true, false;''
 
##''флаг включения алгоритма для проверок (settings.verification), например: true, false.''
 
  
''Настройку параметров триггера также можно выполнить, нажав правой кнопкой мыши по элементу EgsScheduled и в контекстном меню выбрав пункт "Редактировать параметры".''
+
==Пример работы==
  
[[File:MaintenanceVerification_com_4.png|центр]]
+
Для построения схемы необходимо:
  
''После этого откроется окно для редактирования параметров.''
+
1. Создать схему по выше описанному алгоритму (см. [[Удаление_устаревших_объектов_(Outdated_remover_1)#Построение_схемы|Построение схемы]]).
 +
 +
[[File:OutdatedRemover_3.PNG|центр|1000px]]
  
[[File:MaintenanceVerification_com_5.PNG|центр]]
+
2. Добавить элемент Болид Пожарный датчик.
  
''Также это можно выполнить, открыв свойства элемента.''
+
[[File:OutdatedRemover_7.PNG|центр|1000px]]
  
[[File:MaintenanceVerification_com_6.PNG|центр]]
+
3. Настроить параметр "Сетевой адрес" компьютера.
  
==Маски типов и состояний==
+
4. Настроить следующие параметры триггера:
Маски могут быть как точным именами типов или состояний, так и их частями, содержащими следующие контрольные символы:
 
  
? - любой одиночный символ;
+
#единица измерения ('''period_unit'''): секунда;
* - ноль или более символов;
+
#интервал в единицах измерения ('''period_count'''): 1;
# - любая цифра от 0 до 9;
+
#повторять через интервал или выполнить один раз в указанное время ('''repeat'''): 0;
[ charlist ] - любой одиночный символ в charlist;
+
#задействовать триггер ('''enabled'''): true;
[! charlist ] - любой одиночный символ, не включенный в charlist.
+
#в настройках:
 +
## тип ('''types'''): Sensor;
 +
##интервал, в течении которого объект должен обновиться ('''timeout'''):  00.00:00:01.
  
==Проверка==
+
5. В свойствах пожарного датчика настроить параметр последнее обслуживание ('''maintenanceLast'''): 2016-04-01T10:00:00.
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Maintenance%20and%20verification%201.put&path=0/params/hash/value</code>
 
  
''Хэш-сумма будет совпадать только в том случае, если скрипт не был изменен.''
+
'''Результат''':
  
==Алгоритм работы==
+
Пожарный датчик удалится.
  
#Выбираются все объекты типов, соответствующих хотя бы одной маске из списка '''settings.types'''.
+
==Дополнения==
#При включенном '''settings.maintenance''':
+
1. В пункте 1 раздела [[Удаление_устаревших_объектов_(Outdated_remover_1)#Построение_схемы|Построение схемы]] добавление триггера '''EgsScheduled''' можно осуществить по ссылке.
##проверяется валидность параметров '''maintenancePeriod''' и '''maintenanceLast''' (не валидные переводятся в статус '''invalid''');
 
##рассчитывается параметр '''maintenancePlanned''' = '''maintenanceLast''' + '''maintenancePeriod''';
 
##если текущее время больше '''maintenancePlanned''', то '''maintenanceLast''' переводится в статус '''alarm''', а к '''stateargs''' объекта добавляется флаг '''MaintenanceExpired'''.
 
#При включенном '''settings.verification''':
 
##проверяется валидность параметров '''verificationPeriod''' и '''verificationLst''' (не валидные переводятся в статус '''invalid''');
 
##рассчитывается параметр '''verificationPlanned''' = '''verificationLast''' + '''verificationPeriod''';
 
##если текущее время больше '''verificationPlanned''', то '''verificationLast''' переводится в статус '''alarm''', а к '''stateargs''' объекта добавляется флаг '''VerificationExpired'''.
 
  
==Пример работы==
+
Для этого необходимо:
  
Для построения схемы необходимо:
+
:1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com:5434/resources/typedef2017/egs/Outdated%20remover%202.put.</code>
 +
:2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
  
1. Создать схему по выше описанному алгоритму.
+
[[File:Scheduled_com_1.png|центр|1000px]]
 
[[File:MaintenanceVerification_com_3.PNG|центр|1000px]]
 
  
2. Добавить элемент Болид Пожарный датчик.
+
:3. В открывшемся окне выбрать импортированный скрипт "Outdated remover 1.put".
  
[[File:MaintenanceVerification_com_7.PNG|центр|1000px]]
+
[[File:OutdatedRemover_1.PNG|центр|1000px]]
  
3. Настроить параметр "Сетевой адрес" компьютера.
+
:Элемент появится на рабочей области.
  
4. Настроить следующие параметры триггера:
+
[[File:Scheduled_com_3.png|центр|1000px]]
  
#единица измерения (period_unit): секунда;
+
2. В пункте 7 раздела [[Удаление_устаревших_объектов_(Outdated_remover_1)#Построение_схемы|Построение схемы]] редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".
#интервал в единицах измерения (period_count): 1;
 
#повторять через интервал или выполнить один раз в указанное время (repeat): 0;
 
#задействовать триггер (enabled): true;
 
#в настройках:
 
##список масок имен типов (settings.types): BOLID_*;
 
##флаг включения алгоритма для тех. осмотров (settings.maintenance): true;
 
##флаг включения алгоритма для проверок (settings.verification):  false.
 
  
5. Настроить следующие параметры пожарного датчика:
+
[[File:OutdatedRemover_4.png|центр]]
  
#период обслуживания(maintenancePeriod): 23;
+
:После этого откроется окно для редактирования параметров.''
#последнее обслуживание(maintenanceLast): 2018-02-01T10:00:00
 
  
После сохранения параметров триггера и пожарного датчика в параметр датчика установится запланированное обслуживание (maintenancePlanned): 2018-02-24T10:00:00.
+
[[File:OutdatedRemover_5.PNG|центр|1000px]]

Текущая версия на 11:42, 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Модуля.

OutdatedRemover 2.PNG

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

Scheduled com 9.PNG

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

OutdatedRemover 3.PNG

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

  1. текст скрипта (script) http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Outdated%20remover%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. имя типа контролируемого объекта (types), например: Human;
    2. интервал, в течении которого объект должен обновиться (timeout), например: 24:00:00.

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

OutdatedRemover 6.PNG

Проверка

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

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

Алгоритм работы

  1. Выбираются объекты типа settings.types.
  2. Из них выбираются такие, у которых время последнего изменения плюс settings.timeout больше текущего времени.
  3. Выбранным объектам проставляется флаг удаления.

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

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

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

OutdatedRemover 3.PNG

2. Добавить элемент Болид Пожарный датчик.

OutdatedRemover 7.PNG

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

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

  1. единица измерения (period_unit): секунда;
  2. интервал в единицах измерения (period_count): 1;
  3. повторять через интервал или выполнить один раз в указанное время (repeat): 0;
  4. задействовать триггер (enabled): true;
  5. в настройках:
    1. тип (types): Sensor;
    2. интервал, в течении которого объект должен обновиться (timeout): 00.00:00:01.

5. В свойствах пожарного датчика настроить параметр последнее обслуживание (maintenanceLast): 2016-04-01T10:00:00.

Результат:

Пожарный датчик удалится.

Дополнения

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

Для этого необходимо:

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

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

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