Лучший способ контролировать сценарий - периодически регистрировать его состояние и / или контрольную точку в файле.Каждая фаза / основная итерация вашего сценария будет либо регистрироваться в файле, либо отправлять сообщение в системный журнал.В качестве альтернативы, если ваш пакетный скрипт выполняет итерацию за определенной точкой кода достаточно часто, вы можете вставить таймер проверки работоспособности.По истечении указанного времени вы поместите сообщение в файл журнала.
Псевдокод может выглядеть следующим образом.
check_timeout
is current time > timeout
Yes -> write a log message and set timeout to a point x seconds/minutes/hours into the future.
No -> Do nothing and return from function
endcheck_timeout
Main
set timeout to 0
loop
check_timeout
do processing
endloop
endmain
В качестве альтернативы вы можете изменить подпрограмму check_timeout для пересылкисообщение для системы мониторинга, такой как Zabbix , используя zabbix_sender для обновления элемента с текущим временем.Затем вы должны написать триггер для активации, если время последнего обновления было в 1,5 или более раз больше среднего интервала регистрации (зависит от вашей средней нагрузки, но у вас может быть разница во времени).