и загружать его при старте?
Да, это ненормально
почему ненормально то
Почему?
Проблема тут в том, что довольно часто не ты решаешь, когда процесс сдохнет. Процесс может упасть из-за бага, процесс может исчезнуть просто потому что среда, может закончиться память, может ещё что-то случиться То состояние, которое должно быть персистентным, должно моментально записываться на диск
да на terminate не нужно полагаться, но почему бы не использовать если это может сработать в какой-то ситуации
Не могу представить такую ситуацию Опять же, ты либо записываешь каждое изменение важного стейта на диск, либо нет Если ты записываешь каждое изменение важного стейта на диск, то terminate не нужен, потому что все важные изменения уже на диске
например ты можешь сформировать стейт через долгий запрос с БД, но иногда этого можно избежать и достать с того же диска
У меня стейт не сильно важен. Просто если он не сохранится, то при следующем старте загрузится неактуальная версия, это будет задетекчено генсервером и старт слегка замедлится. В случае непредвиденного издыхания процесса такой холодный старт будет даже весьма кстати.
Насколько я понимаю terminate будет работать во всех штатных ситуациях. То есть почти всегда. Верно?
я бы так не сказала, при деплое например не факт
Это нештатная ситуация :)
Обсуждают сегодня