Добавил решение для мониторинга "здоровья" скрипта. Решение клиент-серверное. Небольшой сервер запускается на любом машине, которую видит скрипт:
https://github.com/sherman/heartbeat_serverСервер написан на java(кроссплатформенный). Простое консольное приложение. У сервера есть конфигурации(может быть несколько).
algo_name, delay_time, smtp_host, smtp_port, login, pass, from, to
algo_name - имя алгоритма
delay_time - макс. время между пингами в миллисекундах
В скрипте, нужно использовать клиента, который будет пинговать сервер каждый раз когда алгоритм срабатывает. Клиент есть тут например:
https://github.com/sherman/onTSLab/blob/master/src/util/HttpUtils.cs#L19Вызов:
try {
HttpUtils.get("http://192.168.1.2:4433/algo_name");
} catch (WebException e) {
// no connection to server
}
Если сервер не принимает пинг за время t большее чем макс. время между пингами(задается в конфиге) начиная с последнего пинга, сервер высылает письмо на указанный email. Письмо приходит только одно. После того как алгоритм снова заработает и пинг снова пойдет, придет еще одно письмо, что пинг снова приходит и так до следующего сбоя.
Что еще нужно сделать: добавить расписание работы бирж. Сейчас письма буду приходит точно в перерывах работы биржи.