Перейти к основному содержимому

Почему шкаф иногда перезагружается сам

Короткий ответ: так и задумано. Это не поломка и не сбой питания.

Что происходит​

Внутри платы, кроме основного компьютера, сидит маленькая отдельная микросхема-надзиратель. У неё есть часы обратного отсчёта. Пока программа постамата жива, она регулярно говорит надзирателю «я жив», и отсчёт начинается заново. Если такого сигнала долго нет, надзиратель считает, что программа зависла, и перезагружает плату — сам, не спрашивая никого.

Это как кнопка бодрствования у машиниста: не нажал вовремя — поезд тормозит сам.

Срок — около пяти минут.

Зачем это нужно​

Постамат стоит на улице без присмотра и выдаёт людям вещи. Если программа зависнет, единственный способ её оживить — прислать человека на другой конец города. Надзиратель делает это сам, бесплатно и мгновенно: завис — перезагрузился — снова работает.

То есть это страховка, которая экономит вам поездки, а не источник проблем.

Это проверено, а не обещано​

Страховку легко записать в документ и никогда не проверить. Здесь проверили обе стороны, на живой плате:

  • пока программа подавала признаки жизни, шкаф проработал больше тринадцати минут подряд без единой перезагрузки;
  • как только признаки жизни прекратились, шкаф перезагрузился через 4 минуты 41 секунду и поднялся сам, без человека.

Вторая половина важнее первой. Работающий шкаф выглядит одинаково и когда надзиратель исправен, и когда он сломан, — разница видна только в тот момент, когда программа зависла. Поэтому проверяли именно это.

⚠️ Здесь стоял оговор «сигналы „я жив“ подавала служебная программа, а не сам киоск». Он устарел 3 сентября. Теперь признаки жизни подаёт именно киоск, и проверялось это не «перезагрузок нет» — так выглядит и шкаф, которого кормят вслепую, — а причиной кормления в журнале: «кормим: обмен с платой свежий». То есть надзирателя успокаивает настоящий разговор с платой замков, а не то, что программа просто существует.

Пилотный шкаф после этого проработал больше семи часов без единой перезагрузки.

Что это значит для вас на практике​

Увидев «шкаф не отвечает» — подождите 5–7 минут. Очень часто он вернётся сам, и ехать никуда не придётся. Это первое действие по тревоге «шкаф офлайн».

Не ищите причину в логах. Перезагрузка аппаратная: программа о ней не знает и записать ничего не успевает. Записи просто обрываются на полуслове. Пустой журнал в этом месте не значит «всё было хорошо» — он не значит вообще ничего.

Одиночная перезагрузка — это нормально. Например, после обновления или после кратковременной неполадки. Клиент в этот момент увидит, что экран погас и снова загрузился.

Перезапустить киоск можно и самому — из панели, не дожидаясь надзирателя. Кнопка живёт в разделе «Обновления», в строке нужного шкафа («Перезапустить киоск»), и доступна дежурному. Она ставит команду в очередь, шкаф забирает её на очередном сеансе связи и отчитывается о выполнении. Это перезапуск ПРОГРАММЫ, а не плату целиком, и просит он второй фактор — как и удалённое открытие. ⚠️ До 4 сентября этой кнопки не было, хотя текст тревоги про застрявшее обновление прямо велел её нажать.

⚠️ Две вещи про эту команду, которых не видно на кнопке. Первая: срок годности — пятнадцать минут; шкаф, вернувшийся на связь позже, перезапуск уже не получит (иначе экран погас бы в чужой момент, когда у дверцы стоит человек). Вторая: повторно она сама не выдаётся. Выдали один раз, отчёта не пришло — сервер вторую попытку не делает и пишет об этом в примечании; второй перезапуск подряд означал бы цикл перезапусков. Значит «нажал и жду» тут не работает: смотрите отчёт, и если его нет — отправляйте заново.

🔴 И третья, если перед этим вы нажимали «Откатить» в разделе «Обновления»: откат применяется со ВТОРОГО перезапуска киоска. Первый перезапуск только забирает распоряжение — киоск запускает уже скачанное сразу, а за новостями идёт следом. Поэтому после отката экран шкафа один раз выглядит так, будто ничего не произошло: это нормально, перезапустите киоск ещё раз (или дождитесь следующего перезапуска) и смотрите после него. Проверено на живом железе в ночь на 7 сентября — до этого кнопку отката на шкафу не нажимали ни разу. ⚠️ И вторая половина того же: вернуть шкаф на прежнее обновление простым назначением нельзя. Шкаф откажется, в отчёте будет стоять updateRejectedBySelectionPolicy — он принимает только версию новее запущенной, а откат считается самой свежей. Это не поломка и не ваша ошибка: нужен перевыпуск той же версии разработчиком. Своими силами из панели это не лечится, поэтому эскалируйте, а не жмите кнопку повторно.

🔴 А вот это уже поломка​

Если шкаф перезагружается по кругу примерно каждые пять минут, значит программа на планшете не поднимается вообще: некому говорить «я жив». Со стороны это выглядит как «шкаф то появляется, то пропадает» с довольно ровным интервалом.

Ровный интервал — главный признак. Если промежутки разные и случайные, дело в чём-то другом (питание, сеть). Если они одинаковые — это надзиратель.

Такое на месте не чинится. Эскалируйте и обязательно укажите:

  • примерно каждые сколько минут это повторяется;
  • с какого времени началось;
  • не было ли перед этим обновления, отключения питания или работ на точке.

Чего делать не надо​

  • Не считать это неисправностью питания и не менять блок питания «на всякий случай»: симптом выглядит похоже, но причина другая.
  • Не выключать и включать шкаф несколько раз подряд — это ничего не даёт: надзиратель начинает отсчёт заново при каждом включении, и цикл повторится.
  • Не отключать «эту функцию» — её невозможно отключить. Проверено: команда выключения существует, микросхема отвечает «принято», а перезагрузки продолжаются как ни в чём не бывало.