Как правильно готовить постоянно работающие приложения?
Разрабатываю email -> telegram шлюз для личного использования. Т.е. приложение должно постоянно проверять ящик на предмет нового письма и при наличии такого, засылать его вместе с вложением в телеграм. Сейчас просто кроном каждые 5 минут дёргаю скрипт. Но что-то подсказывает мне, что есть более тру способ.
Первое, что приходит в голову - бесконечный цикл. Но тогда как быть с возможными вылетами приложения?
Другими словами: как устроены приложения, которые работаю постоянно ?
Готовьте его как службу, например в Debian/Ubuntu, CentOS > 7 есть systemd, где вы можете засунуть свой скрипт как службу, которая будет в случаи краха сама перезапускаться. А в самом приложение уже можно и цикл Создание своего сервиса
Добрый день! В итоге все способы для windows - костыли так или иначе. Запускаю скрипты на линуксе с помощью supervisor - и горя не знаю, почти год полет нормальный
Как минимум вы как программист должны позаботится о том, чтобы никаких крахов не было.
Если у вас приложение падает - значит ошибка в программе - тестируйте, исправляйте, разбирайтесь.
Pavel Denisov: Внешняя причина - она может и комп вырубить, тогда ничего уже не поможет.
А когда бывают случаи дать упасть и поднять, чем исправить - это что-то экзотическое, когда вы являетесь автором программы.
Собственно, я не против поднимальщиков :-) и т.п., как крайней меры. Но если софт рушится часто, то с этим надо что-то делать кардинально, а не поднимать его каждый раз. А тут похоже именно такая ситуация.