Режим сторожевого таймера
Такой режим активируется при запуске Updater.exe с параметром wthtimer:
Updater.exe -wthtimer
Updater не допускает повторный запуск себя в одинаковом режиме (невозможно запустить два процесса Updater.exe в режиме сторожевого таймера). При этом Updater.exe может быть запущен в разных режимах одновременно.
Общее описание функции
В этом режиме Updater следит за работоспособностью ПО PayPRO. Если платежное ПО зависло или внепланово закрылось - Updater незамедлительно восстановит его работу. По умолчанию режим сторожевого таймера включен, его настройка не требуется.
T.exe) также выступает в роли сторожевого таймера для программы Updater. Если Updater закрылся, то ПО снова запустит его. Таким образом эти две программы контролируют стабильность работы друг друга и исключают сбои или зависания ПО обеспечивая стабильную работу терминала и прием платежей.
Принцип определения зависания
- Во время работы
T.exeпишет в файлwatchdog.timerтекущее время с определенным интервалом. - С другим интервалом Updater проверяет данные в этом файле и если обнаруживается, что данные не записываются более 5 минут - Updater констатирует, что
T.exeзавис и пытается его закрыть. Сначала корректно, но если по окончанию отведенного на это времени закрытия не происходит - жестко прерывает процессT.exe.
Принцип определения неожиданного закрытия ПО
- Если Updater определяет, что
T.exeпропал из списка процессов, то осуществляет его немедленный запуск. - При этом не анализируются данные в файле
watchdog.timer, даже если запись в этот файл производилась совсем недавно.
Особые условия
Файл ''watchdog.nostart''
T.exeне будет запущен, если в папке с программой есть файлwatchdog.nostart. Этот файл является признаком того, что Updater в режиме сторожевого таймера не должен производить никаких действий. Такой файл создается самой программой при обновлении программы (в это времяT.exeзакрывается на время его обновления, файлwatchdog.nostartпрепятствует преждевременному запуску программы).- Также файл
watchdog.nostartсоздается при закрытии программы из административного меню. Все другие способы закрытия программы приведут к ее повторному запуску. Поэтому если вам требуется закрыть ПО - пользуйтесь закрытием ПО через административное меню. T.exeпри запуске удаляет файлwatchdog.nostart.- В файл
watchdog.nostartзаписывается причина по которой не следует запускать ПО и время возникновения события. Информация является справочной.
Файл ''Flags\failure.flg''
- При закрытии или запуске
T.exeсторожевым таймером в папкеFlagsсоздается файлfailure.flg. В него записывается причина запуска или закрытия программы. - Файл используется
T.exeво время запуска для определения были ли проблемы в работе ПО. Очевидно, что если такой файл создался, то перед запуском ПО зависло или произошел сбой в его работе. Сообщения об этом фиксируются в логе и передаются в Диспетчерскую. T.exeпри запуске удаляет файлfailure.flg.
T.exe в папке Flags создается файл working.flg (с временем запуска и текстом «Терминал запущен»). Данный файл существует во время работы ПО и удаляется самой программой в момент корректного завершения работы.
Однако при выключении питания компьютера этот файл остается, что является признаком некорректного закрытия программы. Одновременно с этим анализируется наличие файла failure.flg и если failure.flg отсутствует, значит было не зависание ПО, а именно выключение питания (иначе сторожевой таймер создал бы файл failure.flg). Если есть оба файла - значит зависание ПО. Именно таким образом ПО определяет точную причину некорректного завершения работы.
Также если файл working.flg отсутствует, но присутствует файл failure.flg - это означает корректное завершение работы, однако сторожевой таймер все-равно запустил ПО. Если сторожевой таймер запустил ПО, значит при корректном завершении работы не был создан файл watchdog.nostart. Таким образом программа делает вывод, что запуск ПО произведен после корректного закрытия, но закрытие было не из админ.меню (например, через диспетчер задач или по Alt+F4). Для того, чтобы ПО не перезапускалось автоматически необходимо закрыть ПО через админ.меню по кнопке «Завершить работу ПО».