упал по любым причинам. как мне его поднимать правильно в этом случае? это наверное в общем такой вопрос про unix
это уже даже в девопсо-админскую сторону вопрос))
ну просто ботов миллион, уж не говоря про api вообще, наверное есть какие-то простые рецепты
так на стороне сервера - просто сервис, работающий в фоне. Потому к нему применимы все стандартные методы для отказоустойчивости обычных сервисов
вот мне и интересно самые базовые какие-то варианты, которые человек без программистского бекграунда может быстро сделать, чтобы минимально себя обезопасить. у Алексея Cелезнева, вот предлагается перезапускать каждые пол часа (с другой целью, но все равно). наверное это вариант?
Сервером смотреть сколько необработанных запросов и когда был последний, если что-то протухло - рестартить
Если он у вас не на вебхуке, можно каждую минуту перезапускать
Вариант. Запакуйте в докер образ, запускайте каким-нибудь портейнером. Там и видно, если я правильно помню, работает контейнер или нет
Вернее как - допустим в цикле каждую секунду спрашивать, есть ли сообщения, а через 60 запросов цикл повторять
Это все зависит от того пускает ваш сервер или нет. Если вы попробуете делать бота на каком-нибудь стороннем сервере, то делать что-то без вебхуков дохлый номер. Сервера режут.
У бота есть "пуллинг". Если в процесее получения сообщений бот не смог их корректно обработать - он вылетает с ошибкой и пуллинг прекращается. Собственно бот вышел из чата, его нужно запустить снова. Я с ботом намучался, но я решил вопрос саморебута бота. На саму функцию пуллинга я навешал ловлю ошибок в виде tryCatch, и если бот вылетает - он мне пишет причину вылета и перезапускается.
кстати, у Селезнёва было в книжке про создание бота нечто подобное. плюс он в чат "Горячая линия R" скидывал куски своего кода про перезапуск бота.
у докера даже авторестарт можно настроить, если контейнер повалился
Обсуждают сегодня