Гунин В.И.
Junior Member / Новичок
Участник № / Member № 450
отправлено / posted
Появился такой вот вопрос. Известно , что: Каждому узлу, к которому будет обращаться Сервер документирования в соответствии с шаблоном документа, должно быть задано имя ПК (или IP-адрес). В нашем проекте используются дублированые узлы (DFRTM) и хотелось бы при отказе одного из них иметь возможность работать со вторым без изменения в шаблонах. Сейчас приходиться использовать два набора однотипных шаблонах работающих с первым и вторым (дублирующим) узлом соответственно. Есть ли возможность в Сервере документирования перехода на дублирующий узел при отказе (потери соединения) основного, как это реализовано например в графической консоли? И как постоить шаблон подключаюшийся к 2-м узлам одновременно?
Сообщения / Posts 23 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Один из методов - как известно, при считывании любой информации из МРВ все функции Техно_Лист Сервера Документирования используют в качестве одного из параметров имя сервера МРВ в проекте (например, "NODE1"). Можно создать пользовательскую функцию, которая будет пытаться попеременно считать значение хотя бы одного канала из каждого МРВ в момент старта формирования документа. И на основе полученных результатов - по номеру активного узла, во всех дальнейших функциях подставлять имя этого узла. Тогда при создании шиблона нет необходимости дублировать элементы или вообще дублировать сами шаблоны.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Гунин В.И.
Junior Member / Новичок
Участник № / Member № 450
отправлено / posted
Здраствуйте.
Для получения значения канала используется функция: GETVAL( CHAN( "A1010_MSKU", 0, "SERV1") )
Подскажите пожалуста, как динамически изменять имя узла (в данном примере это SERV1) в случае отказа в доступе. Другими словами, если узел SERV1 вышел из строя, то шаблон должен сформировать запрос таким образом, чтобы данные стали запрашиваться с узла SERV2.
Гунин В.И.
Junior Member / Новичок
Участник № / Member № 450
отправлено / posted
В общем как динамически менять имена серверов мы знаем. Осталась единственная проблема как узнать в ходе выполнения шаблона, что узел неработает? Ждем ответа
Сообщения / Posts 23 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
К сожалению диагностировать успех отработки функции в ТЕХНО_Лист нельзя, поэтому невозможно диагностировать работоспособность МРВ путем чтения его реальных значений. Единственное решение - это контроль за работоспособностью мониторов через внешний файл. В шаблоне можно использовать функцию READLIST(Файл) для подчитывания таких файлов от МРВ. В файле формировать служебную информацию, например о состоянии узла, и на основе этих данных принимать решение какое имя узла подставлять в функции шаблона. В МРВ этот файл можно формировать, например, с помощью глобальных переменных.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Гунин В.И.
Junior Member / Новичок
Участник № / Member № 450
отправлено / posted
Здраствуйте.
Раньше Вы предлагали такой вариант решения этой проблемы: " Один из методов - как известно, при считывании любой информации из МРВ все функции Техно_Лист Сервера Документирования используют в качестве одного из параметров имя сервера МРВ в проекте (например, "NODE1"). Можно создать пользовательскую функцию, которая будет пытаться попеременно считать значение хотя бы одного канала из каждого МРВ в момент старта формирования документа. И на основе полученных результатов - по номеру активного узла, во всех дальнейших функциях подставлять имя этого узла. ....... " Получается что так сделать нельзя ?
Сообщения / Posts 23 | Из / From: Россия
| IP / IP: IP адрес / IP address |