This is topic Запуск МРВ как назначеное задание in forum Мониторы Реального Времени / Real Time Monitors at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/35/t/000181.html

Posted by arido (Участник № / Member № 2961) on :
 
Здравствуйте.
Вот какая проблема: в проекте есть SQL-запросы, если нет связи с БД, МРВ "вылетает" (закрывается). Можно как-то решить эту проблему?

Попробовала сделать запуск через назначенные задания (у нас так работают некоторые программы).То есть каждые 10 мин делается запуск программы, но не смотря на то, что МРВ запущен, запускается второй. Где-то в настройках узла можно указать, чтобы не запускался второй экземпляр (как у IDE)??
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1) Закрываться МРВ при отсутствии БД не должен. Много раз проверяли ситуацию с разрывом связи. Таких проблем не было.

2) В файле CNF есть ключ ONCERUN – запрет запуска другого МРВ.
 
Posted by arido (Участник № / Member № 2961) on :
 
А можно пример
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Я полагаю, что создать файл TMcom_xx.cnf следующего содержания:

ONCERUN
END_OF_CNF
<пустая строка>

Вы можете самостоятельно.
 
Posted by arido (Участник № / Member № 2961) on :
 
Я создала, но все равно запускается сколько угодно копий МРВ.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Копии МРВ запускаются, но не функционируют.

Вообще идея с запуском через назначенные задания представляется не продуктивной.
Ведь МРВ может зависнуть или "вылететь" с выдачей системного сообщения.
И в том, в другом случае, пока МРВ еще находится в системе, он дердит свои потоки и ресурсы.
Запуск второй копии МРВ в таком варианте не может быть корректным.
Надо обязательно выгрузить неработающий МРВ и только после этого запускать его заново.
 
Posted by arido (Участник № / Member № 2961) on :
 
Тогда посоветуйте, как лучше поступить в такой ситуации. Необходимо, чтобы ТМ работал постоянно, и, если произойдет "вылет", запускался без постороннего вмешательства.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Очевидно, что это надо делать с помощью сторонней программы. Она должна:
1) Проверять наличие процесса rtc.exe и при его отсутствии запускать МРВ заново

2) Получать от МРВ какие-либо сигналы. Если их нет (процесс завис, например), то можно его принудительно завершать, а дальше пункт 1.

Как-то так.
 
Posted by SATER (Участник № / Member № 1414) on :
 
и у меня была такая задача
arido, как вы справились?

я в MS Excel передавал аттрибут 45. в Excel каждую минуту скриптом сравнивал это значение с текущим системным временем. если они разные, значит ТМ висит - тогда тем же скриптом удаляю все процессы с именем rtcx.exe и запускаю ТМ

при этом Excel можно запускать вместе с системой и прятать с панели виндовса (отображать в диспетчере задач и/или в трее)
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2