Подтвердить что ты не робот

Геройку перезапускает сервер NodeJS, если приложение выходит из строя

Мы запускаем сервер NodeJS на Heroku. мы хотим знать, перезапустит ли приложение heroku приложение, если приложение завершится с ошибкой. Также будет ли какое-либо другое поведение между бесплатной версией и платной версией?

4b9b3361

Ответ 1

Будет. Несколько раз, а затем "остынь" в течение десяти минут и повторите попытку. Из документов:

Политика перезапуска Herokus dyno заключается в том, чтобы попытаться перезапустить разбитые динамики, создавая новые динамики каждые десять минут. Это означает, что если вы нажимаете плохой код, который не позволяет вашему приложению загружаться, ваши динамики приложений будут запускаться один раз, затем перезагружаются, а затем выходят за десять минут. В обычном случае долговременного веб-процесса или рабочего процесса, получающего случайный сбой, динамо будет перезагружен мгновенно без какого-либо вмешательства с вашей стороны. Если ваш динамод дважды сработает подряд, он останется в течение десяти минут до того, как система повторит попытку.

Документы: https://devcenter.heroku.com/articles/dynos#automatic-dyno-restarts

РЕДАКТИРОВАТЬ Что касается свободных динамиков: поведение перезапуска одинаково. Тем не менее, есть что-то, называемое "Dyno Idling", которое происходит только в свободных динамиках. В основном это означает, что если ваш дино не получит какой-либо запрос в течение 1 часа, он "перейдет в спящий режим", и следующий запрос "разбудит его", что приведет к тому, что следующий запрос будет слегка отложен. Это происходит только тогда, когда у вас есть 1 свободный web dyno для вашего приложения.

Чтобы обойти это, у вас есть 2 динамика (и тогда ни один из них не будет простаивать, но вы будете платить за него), или "что-то" опросит ваш веб-дино, скажем, 30 минут. Например, pingdom, скажем.

Документы: https://devcenter.heroku.com/articles/dynos#automatic-dyno-restarts