207 похожих чатов

Привет. У nuxt есть хорошие практики по созданию режима обслуживания (maintenance

mode) во время обновления сайта? Пока я встретил два подхода:
1. В время обновления сбрасывать в переменную окружения булевый флаг "обслуживается", на все запросы реагировать однотипным ответом API и рендером.
2. Собирать следующую версию в отдельной папке, затем после завершения линковать её как текущую - жёсткой ссылкой. Проблемы: могут долго выполняться миграции, сайт всё равно не сможет быть доступен.

14 ответов

10 просмотров

как вариант разруливать это на серваке который перед накстом

Обычно это делают на уровне инфраструктуры, а не приложения

Почему не рулить бы этим на уровне nginx/etc? https://m.habr.com/ru/post/139968/

А насчёт zero downtime можешь посмотреть pm2

T- Автор вопроса
Ilya Artamonov
Почему не рулить бы этим на уровне nginx/etc? htt...

Я размышлял об этом подходе, но меня смущает следующий случай: уже загруженный пользователем экземпляр nuxt в архитектуре с SSR способен забирать кусочки с сервера для перехода между страницами, следовательно врубленный режим обслуживания покажет странное поведение.

T
Я размышлял об этом подходе, но меня смущает следу...

У тебя все равно апи будет недоступно, он ничего не сможет сделать

T- Автор вопроса
Vladislav Stepanov
У тебя все равно апи будет недоступно, он ничего н...

Это одна из целей. Другая цель - проинформировать пользователя, что это не баг, а фича.

T
Это одна из целей. Другая цель - проинформировать ...

Можно выводить оповещение, полученное через server-sent events, что начались технические работы или просто перезагружать страницу принудительно, когда приходит такое событие

T- Автор вопроса
Ilya Artamonov
Можно выводить оповещение, полученное через server...

В первый раз слышу о таком хаке, но выглядит перспективно. Похоже, у этой возможности есть поддержка всех современных браузеров: https://caniuse.com/?search=server-sent-events

T
В первый раз слышу о таком хаке, но выглядит персп...

У меня для вывода ошибок(которые генерирует сервер) такое используется, а именно centrifuge(https://github.com/centrifugal/centrifuge), но для одного события это использовать будет перебор

T- Автор вопроса
Ilya Artamonov
У меня для вывода ошибок(которые генерирует сервер...

у меня есть несколько разновидностей ошибок для ответа с сервера, но я пока не унифицировал их обработчик как следует. Я думаю, что нужно просто отдавать все API во время обслуживания со статусом 503 и повесить на их обработку страницу с оповещением "идут тех. работы". Поскольку сам сервер во время пересборки будет работать (будучи слинкован на предыдущую версию), то переход между страницами и подтягивание строительных блоков будут происходить гладко.

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
if (user?.choseType === 'oneDay') { await ctx.reply( 'Добро пожаловать в команду «Магнита»! Правда, на один день ☺️ ', ); await ctx.s...
Kokni
1
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
26
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
а не подскажете вот это скрин из какой IDE ?
Iluha Companets
14
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается...
Андрей
4
Карта сайта